つかびーの技術日記

情報系修士卒のWeb系技術日記です。現在のフォーカス分野はアドテクです。

Maven enforcerのEnforcer rules have failed

   

最近はScalaデベロッパーなのでビルドツールはsbtを使っているのですが、やはりたまにmavenにお目にかかるときがあります。MavenのOSSをビルドするから、という理由なのですが。

local環境ではmvn deployが通っても、なぜかCircleCI上では通らない。こういうエラーが出ます。

Maven enforcerというのが失敗しています。Maven enforcerはJavaやMavenなどのバージョンの制約を定義して、意図しないビルドを防ぐものです。

具体的には例えばこれ。

https://github.com/cloudera/spark/blob/cdh5-1.6.0_5.8.2/pom.xml#L1931-L1933

mavenのversionを制限してます。

実際にエラーのところでLook above for specific messagesと言っているので、少し上のログを見ると・・・

CircleCI上のmavenのversionが3.2.5で、pom.xmlの方は3.3.3を要求してるからNGということでした。簡単ですね。

強制的に無視したい場合は-Denforcer.skip=trueをmvnコマンドにつければOKです。うなるかわかりませんけども。

以上です

 - ライブラリ , ,