4

同じpomで同じ2つの依存関係がある場合、ビルドを失敗させたい。現在、私はそれをMaven Dependency Pluginの "analyze-duplicate"を使って検出できます。しかし、他のいくつかのようなfailOnWarningオプションはありません(さらに、警告ではなくInfoレベルで印刷されます)。これを拡張する方法はありますか?重複した依存関係でMavenビルドが失敗することはありますか?

答えて

5

一般的に、何らかの理由でビルドに失敗する場合は、Maven Enforcer Pluginを調べるための良いプラグインです。このプラグインは、検証時にビルドに失敗する一連のルールで設定できます。

この場合、重複する依存関係をチェックするルールである必要があり、そのための組み込みルールがあります:<banDuplicatePomDependencyVersions>。そのように、あなたはこのルールは、残念ながら、文書化されていない

<plugin> 
    <artifactId>maven-enforcer-plugin</artifactId> 
    <version>1.4.1</version> 
    <executions> 
    <execution> 
     <id>enforce-no-duplicate-dependencies</id> 
     <goals> 
     <goal>enforce</goal> 
     </goals> 
     <configuration> 
     <rules> 
      <banDuplicatePomDependencyVersions/> 
     </rules> 
     </configuration> 
    </execution> 
    </executions> 
</plugin> 

を持つことができます(まだ、それはMENFORCER-259を参照してください、次のバージョンになります)が、それはプラグイン(MENFORCER-152)のバージョン1.3以降が存在します。

このルールは、2つの重複宣言に同じ'dependencies.dependency.(groupId:artifactId:type:classifier)'がないことをチェックします。つまり、POMで宣言された同じグループIDと成果物IDを持つ2つの宣言された依存関係は、異なる型および/または分類子を持つ必要があります。

関連する問題