我有一个多模块项目(B),它取决于另一个多模块项目(A)的各个模块。 (B)的每个模块可能取决于(A)的不同部分,但它们都应使用相同版本的(A)。当前该版本被指定为(B)的父pom中的属性。
我希望能够从单个命令锁定用于特定构建的版本(x.y.z-ts-buildnum),同时保持(B)的版本仅使用一次。
在父母:
<dep.version>4.1.0-SNAPSHOT</dep.version>
在一个模块中:
<dependency>
<groupId>com.example</groupId>
<artifactId>B-foo</artifactId>
<version>${dep.version}</version>
</dependency>
我试过了:
答案 0 :(得分:-1)
我建议在模块的父级中为模块-A定义依赖项,如下所示:
<properties>
<module-a.version>6.5.0-12-SNAPSHOT</module-b.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.example</groupId>
<artifactId>A-foo</artifactId>
<version>${module-a.version}</version>
</dependency>
<dependency>
<groupId>com.example</groupId>
<artifactId>A-bar</artifactId>
<version>${module-a.version}</version>
</dependency>
...
</dependencies>
</dependencyManagement>
在您的模块中,您现在只需要写:
<dependency>
<groupId>com.example</groupId>
<artifactId>A-bar</artifactId>
</dependency>
这使您可以在一个地方内更改所有模块的版本。在你的模块的根 - A。