次のように直接依存するmavenプロジェクトがあります。
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.5</version>
<scope>compile</scope>
<optional>false</optional>
</dependency>
しかし、それにもかかわらず、mvn dependency:treeショーのslf4j-apiバージョンは として選択され1.6.2、私のプロジェクトへの直接の依存関係として選択されました!
私のプロジェクトには、 の他のバージョンに依存する可能性のある他の依存関係がありますslf4j。しかし、私の理解では、ツリーのルートに最も近い指定されたバージョンが選択されます。
slf4j関連するものへのその他の依存関係はorg.slf4j:jul-to-slf4j:jar:1.7.5:compile、org.slf4j:log4j-over-slf4j:jar:1.7.5:compile(直接的な依存関係)およびorg.slf4j:jcl-over-slf4j:jar:1.7.3:runtime(推移的な依存関係)です。
私はwarこのmavenプロジェクトでビルドしており、slf4j含まれているjarファイル1.6.2はアーカイブにあります。.jar バージョンではなく、確実に jar バージョンを取得するために何をすべきかわかりませ1.7.5ん1.6.2。
更新:私は maven を使用してい3.0.4ます。
更新 2: 要求に応じて、pom とデバッグ ログが追加されます。ファイルが大きかったので、ドロップボックスのパブリック フォルダーに追加しました: https://www.dropbox.com/sh/w1rtgvxvnt4jf18/lbiMIgwWD_