Предположим, у меня есть многомодульный проект maven, состоящий из родительского P
и его модулей A
и B
. Как объявить зависимость от B
до A
?
До сегодняшнего дня я всегда использовал следующее в B
:
<dependency>
<groupId>org.example</groupId>
<artifactId>A</artifactId>
<version>${project.version}</version>
</dependency>
Но коллега только что упомянул, что этотакже возможно создать запись управления зависимостями для A
в родительском P
<depednencyManagement>
<dependency>
<groupId>org.example</groupId>
<artifactId>A</artifactId>
<version>${project.version}</version>
</dependency>
</dependencyManagement>
, а затем B
нужно только указать:
<dependencies>
<dependency>
<groupId>org.example</groupId>
<artifactId>A</artifactId>
</dependency>
</dependencies>
Есть ли недостаткилюбой из этих методов? Намеревается ли Maven использовать его на самом деле? Или, на самом деле, я пропускаю другой стиль?
В проекте, над которым я работаю, все модули имеют одинаковую версию, и у нас гораздо больше 3-х модулей, а также несколько более глубоких вложений, чем только 2 уровня. Влияет ли это на то, какой стиль декларации предпочтительнее?