Как избежать ручного повторного импорта транзитивной зависимости из саморазрушающегося модуля - PullRequest
0 голосов
/ 30 января 2019

Модуль имеет плохую зависимость, которая зависит от нескольких версий одной и той же библиотеки.Эта библиотека не используется никакими другими зависимостями.Если я просто исключаю библиотеку для разрешения конфликта версий, тогда мне нужно импортировать библиотеку, очевидно, в каждый дочерний модуль.Это не удобно и подвержено ошибкам.Можно ли исключить конкретную версию?Я знаю, что исключающий тег не поддерживает версию, но, возможно, есть изменение.

1 Ответ

0 голосов
/ 30 января 2019

Используйте <dependencyManagement>, чтобы установить версию библиотеки.Это можно сделать в родительском поме.Эта версия будет перезаписывать все версии, которые встречаются в вашем дереве зависимостей.

Она также будет удовлетворять правилу "конвергенции зависимостей" плагина принудительного применения.

Обратите внимание, что Maven всегда будет загружать только одну версиюодной и той же библиотеки - если он находит разные версии, он использует механизм разрешения зависимостей.Тем не менее, гораздо лучше разрешить конфликт самостоятельно с помощью RelationshipManagement.

...