Maven 根据多模块项目锁定快照版本
我有一个多模块项目(B),它依赖于另一个多模块项目(a)的各个模块。(B)的每个模块可能依赖于(A)的不同部分,但它们都应该使用(A)的相同版本。当前版本在(B)的父pom中指定为属性 我希望能够通过单个命令锁定用于特定构建(x.y.z-ts-buildnum)的版本,同时只列出一次(B)的版本 在父项中:Maven 根据多模块项目锁定快照版本,maven,Maven,我有一个多模块项目(B),它依赖于另一个多模块项目(a)的各个模块。(B)的每个模块可能依赖于(A)的不同部分,但它们都应该使用(A)的相同版本。当前版本在(B)的父pom中指定为属性 我希望能够通过单个命令锁定用于特定构建(x.y.z-ts-buildnum)的版本,同时只列出一次(B)的版本 在父项中: <dep.version>4.1.0-SNAPSHOT</dep.version> 4.1.0-SNAPSHOT 在模块中: <dependency
<dep.version>4.1.0-SNAPSHOT</dep.version>
4.1.0-SNAPSHOT
在模块中:
<dependency>
<groupId>com.example</groupId>
<artifactId>B-foo</artifactId>
<version>${dep.version}</version>
</dependency>
com.example
但这似乎并没有锁定由属性设置的版本
用于更新属性版本,但不锁定快照
围绕从本地存储库解析a的pom的最新快照编写脚本,但这不起作用,因为。我可以编写一个脚本来查看每个模块,但这已经接近maven插件所能完成的工作量了
我建议在模块b的父模块中定义模块A的依赖项,如下所示:
6.5.0-12-快照
com.example
阿福
${module-a.version}
com.example
A-bar
${module-a.version}
...
在模块中,您现在只需编写:
com.example
A-bar
这将使您有可能只在一个地方更改所有模块的版本。在module-A.version的根目录下。这是否仍然将module-A.version
保留为maven版本插件无法自动锁定的属性?