Maven版本:set不更新子模块

Use*_*456 13 maven

在最终厌倦了maven release插件之后,我决定继续采用更简单的方法.

我有一个项目,有几个模块.

当我做

mvn versions:set -DnewVersion=1.0.2-SNAPSHOT
Run Code Online (Sandbox Code Playgroud)

它只是更改父级并跳过所有子级模块?

我究竟做错了什么?我还需要设置另一个参数吗?

小智 11

我有同样的子模块引用外部父母的问题.

如果孩子的父版本与父母的本地版本匹配,那么它会更新父母和孩子的版本(可能会说SKIPPED但仍然有效,奇怪).如果它们不匹配,那么它似乎只更新父版本并更新子项以指向新父项,它根本不会更改子项的版本.

最后我发现通配符可以解决这个问题(需要一个新版本的版本插件):

mvn org.codehaus.mojo:versions-maven-plugin:2.2:set -DnewVersion=1.5.0a   -DartifactId=*  -DgroupId=*
Run Code Online (Sandbox Code Playgroud)


Mar*_*rco 5

或者,您也可以使用processAllModules参数。

$ mvn versions:set -DnewVersion=2.0.0 -DprocessAllModules
Run Code Online (Sandbox Code Playgroud)


Ger*_*bas 0

可能是因为你没有在插件管理的父pom中声明插件。如果你想将插件传播给子插件,你必须在插件管理部分声明。

请参阅: http: //maven.apache.org/pom.html#Plugin_Management