Я только что наконец-то привык к тому, что в моих проектах не было объявленных или неиспользованных объявленных зависимостей.Хотя очень сложно отследить неиспользованные объявленные зависимости времени выполнения / теста, которые перечислены в зависимости: анализ ... Нужно просто написать комментарии к ним в pom.xml или иным образом управлять ими, чтобы знать, что они необходимы для тестирования или выполнения.
Но способ разрешения конфликта версий для меня все еще неясен.Относительно переходных зависимостей.
Как работает стратегия ближайших побед?Когда одна версия используется поверх другой?
Если вы объявляете Зона незадекларированной зависимости с номером версии - она всегда выигрывает
Если явно не указана версия зависимости, Mavenне может разрешить конфликты версий, которые могут возникнуть в отношении этой зависимости (странно, но написано здесь )
Если вы не объявляете необъявленную используемую зависимость, выбирается переходнаязависимость от ближайшего уровня (стратегия ближайших побед), и если конфликт находится на том же уровне, то он каким-то образом решает вопрос между версией A и версией B ... Может быть, первый, к которому он обращается при обработке зависимостей, выигрывает