2011-11-05 12 views
8
  • 私のアプリケーションは、foo.jarをを必要とすると仮定し、c.jarのバージョン2.0を必要とbar.jar c.jar
  • のバージョン1.0を必要とfoo.jarを
  • をbar.jarすることができます

この競合はどのように解決されますか?どのバージョンのc.jarが使用されますか?Mavenの - 異なるバージョンの推移依存性が

答えて

13

効果的なPOMの宣言の順序によって異なります。 foo.jarが最初に表示される場合は、c.jarのバージョン1.0が表示されます。一方、bar.jarが最初に宣言された場合は、c.jarのバージョン2.0になります。関連documentation

Mavenのは、それは1が勝つと思われる定義されていませんでした2.0.8が、Mavenの2.0以来 まで... 2つの依存関係のバージョンは、依存関係 ツリー内の同じ深さです。 9それは、宣言の順序でカウントされます: 最初の宣言が勝利

1

2.0を使用します。 (4月1日、3.0を使用する場合を除く)。より複雑なバージョンの文字列の場合、比較関数は単なる字句ではないことに注意してください。

関連する問題