私は、私のMavenプロジェクトに2つの異なるバージョンの特定の推移的依存関係がある2つの直接の依存関係のケースを経験しました。Maven - 同じ依存関係の複数のバージョンを検出する
は、私は次のように直接的な依存関係を持っていた私の特定のケースでは:ジャージー:
<dependency>
<groupId>org.jclouds.driver</groupId>
<artifactId>jclouds-sshj</artifactId>
<version>${jclouds.version}</version>
</dependency>
と
<dependency>
<groupId>org.mule.modules</groupId>
<artifactId>mule-module-jersey</artifactId>
<version>${mule.version}</version>
</dependency>
これらの依存関係の両方がcom.sun.jersey上の(深い)推移依存関係を持っていました-coreではなく、それぞれ異なるバージョンがあります。 Mavenはこれで失敗しなかったし、警告しました(もしそうなら、私はそれを見たことはありませんでした!)そのようなことが起こっていたことは...ジャージー・バージョンのバージョンが、 jcloudsの依存関係によってもたらされたコアは、いくつかのものを破壊しました。
この種のディープ推移依存性のオーバーライドを検出し、少なくともそのような衝突を検出した場合、ユーザーに警告する(または、Mavenの実行に失敗する)ツールが存在する他のツールがありますか?デフォルトの動作は、依存関係を解決する際に表示される最初のバージョンを選択することですか?
これはまさに私が探していたものと思われます。私はこのために執行者のプラグインをチェックするとは思わなかった。 – whaley