В моих проектах Maven я использую родительский pom для управления зависимостями.Я использую тэг "dependencyManagement" в родительском pom для объявления всех доступных зависимостей и его версий для дочерних модулей.
DIRECTORY HERARCHY
- project-name
- module-A
- pom.xml
- pom.xml
В родительском pom.xml я указываю тег depencyManagement:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.test</groupId>
<artifactId>artifact</artifactId>
<version>1.0</version>
</dependency>
</dependencies>
</dependencyManagement>
В модуле-A pom.xml есть что-то вроде:
<parent>
<artifactId>module-A</artifactId>
<groupId>com.test</groupId>
<version>1.0</version>
</parent>
<dependencies>
<!-- The version is inherited from parent pom -->
<dependency>
<groupId>com.test</groupId>
<artifactId>artifact</artifactId>
</dependency>
</dependencies>
Этот способ позволяет изменять версию зависимостей только в родительском pom.xml.Все дочерние модули будут использовать его.
Более подробную информацию вы можете найти в официальной документации Maven: https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html