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