Весенняя загрузка Maven Dependency Issue - PullRequest
0 голосов
/ 10 января 2020

У меня есть две зависимости A и B. Внутри B у меня есть несколько транзитивных зависимостей BB1, BB2, BB3, BB4 et c. И внутри этих транзитивных зависимостей у меня снова есть зависимость A с более низкой версией, которая вызывает проблемы.

A version 2.8
B version 2.4 > BB1 version 4.6 > A version 2.2
B version 2.4 > BB2 version 2.8 > A version 1.8

Проект сканирует все вложенные зависимости, и если он находит версию A ниже 2.8, он терпит неудачу. B версия 2.4 является последней версией. Я пробовал исключения внутри B для A, но не сработало. Есть ли возможность явно увеличить версию A внутри BB1 и BB2? Любые другие решения? Спасибо.

Ответы [ 2 ]

0 голосов
/ 10 января 2020

В этой ситуации maven dependencyMnagment решит вашу проблему.

Рекомендуется использовать dependencyManagement для управления версией вашего артефакта и версией транзитивной зависимости (не все транзитивные требуются - только эта с проблемой)

Другим хорошим инструментом является плагин maven inspecer, который может помочь в обнаружении конфликтов версий.

Из моего опыта исключение не является правильным способом разрешения конфликта версий.

Когда вы обновляете версию артефакта, вы можете получить другую транзитивную зависимость, или исключить исключение не нужно.

И исключить зависимость может потребоваться во время выполнения в вашем приложении во время, когда ты не ожидаешь.

https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#Dependency_Management

https://maven.apache.org/enforcer/maven-enforcer-plugin/

https://maven.apache.org/enforcer/enforcer-rules/dependencyConvergence.html

0 голосов
/ 10 января 2020

В POM будет рассмотрен A v2.8 (если он явно объявлен в POM), я думаю, что проблема в том, что теперь есть циклическая c зависимость

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