プロジェクトX
に依存するプロジェクトがY
あり、Z
プロジェクト Y もプロジェクト Z に依存しています
X
で依存関係のみを指定した場合、依存関係は推移的に取得されるY
ためpom.xml
、すべてが機能します。Z
Z
それで、依存関係を myに含める正当な理由はありますpom.xml
か? それともそのまま放置して大丈夫ですか?
プロジェクトX
に依存するプロジェクトがY
あり、Z
プロジェクト Y もプロジェクト Z に依存しています
X
で依存関係のみを指定した場合、依存関係は推移的に取得されるY
ためpom.xml
、すべてが機能します。Z
Z
それで、依存関係を myに含める正当な理由はありますpom.xml
か? それともそのまま放置して大丈夫ですか?
アンドリューの答えに同意しますが、いくつかの点を追加したいと思います。
この議論を見たいと思うかもしれません。X のコードで Z を使用する場合、Z を X への依存関係として明示的に追加すると、問題が発生する可能性があります。たとえば、Z をテストの依存関係として追加すると (テストにのみ使用するため)、Z はメイン クラスパスに含まれず、Y によって使用されるクラスが存在しないため、いくつかの問題が発生します。
Maven Enforcer プラグインに追加された新しい Enforcer ルールがあります。これにより、推移的な依存関係をより適切に制御できます。有効にすると、すべての推移的な依存関係が禁止され、それらを明示的に含めるか除外する必要があります。詳しくはこちらをご覧ください。