Я обычно помещаю раздел <dependencyManagement>
в parent-project/pom.xml
. Этот раздел <dependencyManagement>
содержит объявление и версию для всех зависимостей моих дочерних модулей, таких как это (то есть без элемента <scope>
):
<dependencyManagement>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
</dependency>
</dependencies>
</dependencyManagement>
Во всех дочерних модулях (т.е. moduleX/pom.xml) у меня есть:
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
Очевидно, что в этом примере я повторяю <scope>test</scope>
несколько раз для одной и той же зависимости (один раз в каждом дочернем модуле, нуждающемся в junit).
Мой вопрос:
Каковы лучшие практики в отношении декларации <scope>
?
Лучше положить его в <dependencyManagement>
?
Или лучше поместить его в раздел <dependencies>
дочернего модуля (как в этом посте)? И почему?
Есть ли окончательный ответ на этот вопрос?