Я работаю над проектом со следующей архитектурой maven:
- parent (pom)
- модуль A (pom)
- подмодуль A1 (jar)
- подмодуль A2 (баночка)
- модуль B (пом)
- подмодуль B1 (банка)
- подмодуль B2 (банка)
У родительского pom есть раздел dependencyManagement
, объявляющий версию внешних зависимостей.
Сейчас как мне объявить внутренние зависимости?
B2 имеет зависимость от B1 и A2. У A2 есть зависимость от A1.
Мои параметры:
- добавить зависимость с версией
<!-- Submodule B2 -->
<dependencies>
<dependency>
<groupId>com.app</groupId>
<artifactId>submoduleA2</artifactId>
<version>${project.version}</version>
</dependency>
[...]
</dependencies>
- добавить все подмодули ( A1, A2, B1, B2) к
dependencyManagement
родительского pom с их версией, затем добавьте зависимости без версии в подмодули:
<!-- Parent -->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.app</groupId>
<artifactId>submoduleA2</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<!-- Submodule B2 -->
<dependencies>
<dependency>
<groupId>com.app</groupId>
<artifactId>submoduleA2</artifactId>
</dependency>
[...]
</dependencies>
- добавьте зависимости между модулями через их управлением зависимостями:
<!-- Module A -->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.app</groupId>
<artifactId>submoduleA2</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<!-- Module B -->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.app</groupId>
<artifactId>moduleA</artifactId>
<version>${project.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<!-- Submodule B2 -->
<dependencies>
<dependency>
<groupId>com.app</groupId>
<artifactId>submoduleA2</artifactId>
</dependency>
[...]
</dependencies>