Я запустил 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. Эти две версии являются бинарными, поэтому сборка проходит без каких-либо предупреждений. Есть ли способ заставить Maven более строго относиться к разрешению зависимостей, чтобы я мог настроить новую сборку, которая потерпит неудачу в этом сценарии? В этом случае решением было бы просто обновить нашу зависимость до более новой версии slf4j.