Как я могу отладить проблемы зависимостей maven, когда mvn dependency-tree не работает? - PullRequest
1 голос
/ 14 июня 2019

Я пытаюсь выяснить, почему IntelliJ использует неправильную версию (8.1.1 вместо 8.1.2) одного из файлов Java моего проекта. Проект IntelliJ - это проект maven с множеством зависимостей.

Для отладки я попытался использовать в командной строке следующее:

mvn dependency:tree -Dverbose -Dincludes=jaffa-ria

за документацию на сайте Maven. Я вижу много информации о загрузке, включая некоторые для пакета jaffa-ria:

Downloaded: https://nexus/content/groups/public/org/jaffa/jaffa-ria/8.1.2-SNAPSHOT/maven-metadata.xml (941 B at 3.2 kB/s)

Однако я не печатаю ни одного дерева зависимостей. Команда mvn обычно завершается с успехом BUILD, и я вижу только одно предупреждение:

[WARNING] Using Maven 2 dependency tree to get verbose output,
 which may be inconsistent with actual Maven 3 resolution

Что я могу сделать, чтобы найти конфликт зависимостей? Я использую Apache Maven 3.5.0. и Intellij IDEA Ultimate 2019.1.

Ответы [ 2 ]

1 голос
/ 14 июня 2019

Используйте Плагин Maven Helper для IntelliJ или Плагин Maven -forcecer с правилом dependencyConvergence.

maven-dependency-plugin больше не поддерживает отображение конфликтов, начиная с версии 3.0, и, как говорится в предупреждении, более старая версия может не соответствовать действительному разрешению Maven 3.

1 голос
/ 14 июня 2019

Прежде всего, попробуйте dependency:tree без подробностей.Если это не сработает, вы можете попытаться добавить правило «конвергенции зависимостей» (правило принудительного применения).

Сбой, если у вас есть конфликтующие версии одной и той же зависимости, и этот конфликт не разрешен в dependencyManagement.Кроме того, он показывает, откуда происходят конфликтующие места.

Кроме того, если вы просто хотите исправить данную версию, вы можете сделать это в dependencyManagement.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...