Скажем, у меня есть родительский POM root
maven, который определяет foo:bar:1.0.0
в управлении зависимостями. У меня есть еще один родительский POM parent
, который использует root
в качестве родительского (просто чтобы добавить еще один слой к примеру). Наконец, у меня есть список материалов bom
, который использует root
в качестве своего родителя, но переопределяет foo:bar:2.0.0
в управлении зависимостями.
В моем проекте app
я наследую от parent
, а затем импортирую спецификацию в разделе управления зависимостями app
root (foo:bar:1.0.0) <- parent <- app+bom
^
|
bom (foo:bar:2.0.0)
Какой раздел управления зависимостями выигрывает? Какую версию foo:bar
я получу?
Я знаю, что если бы я напрямую включил foo:bar
в раздел управления зависимостями app
, он переопределил бы то, что унаследовано от родителя. Но является ли импорт спецификации в разделе управления зависимостями эквивалентным прямому включению ее в раздел управления зависимостями и достаточным для переопределения родительской спецификации? Или унаследованное foo:bar
от родительского управления зависимостями имеет приоритет?
mvn dependency:tree
илиmvn help:effective-pom
. - person Robin479   schedule 12.02.2020