プロジェクトに対して mvn dependency:tree を実行したところ、次のような出力が表示されました。
[INFO] my:project:jar:1.0.0-SNAPSHOT
[INFO] +- some.other:library:jar:2.0.0:compile
[INFO] | \- org.slf4j:slf4j-api:jar:1.6.1:compile
[INFO] +- org.slf4j:slf4j-simple:jar:1.6.0:compile
[INFO] | \- (org.slf4j:slf4j-api:jar:1.6.0:compile - omitted for conflict with 1.6.1)
私のプロジェクトは slf4j 1.6.0 に直接依存しており、推移的に依存している一部のライブラリは slf4j 1.6.1 に依存しているため、これは悪い状態です。これら 2 つのバージョンはたまたまバイナリ互換であるため、ビルドは警告なしで成功します。このシナリオで失敗する新しいビルドを構成できるように、Maven の依存関係の解決をより厳密にする方法はありますか? この場合の解決策は、依存関係を新しいバージョンの slf4j に更新することです。