Maven Versions Plugin,在多模块项目中递归更新父级

时间:2017-09-05 05:47:06

标签: java maven version project maven-versions-plugin

我有以下maven项目结构

pom.xml (parent)  

pom.xml (extends parent, aggregates modules)
|
|--pom.xml (extends aggregate)

现在,当我mvn install升级父版本并在聚合项目上运行mvn versions:update-parent时,除了首先更新聚合父级并且聚合继承版本,然后它的模块的父级更新为升级聚合,再次继承该版本。这对于聚合项目只是使用相同的maven命令构建所有模块这一事实非常有意义。

但是,Maven Versions Plugin不是这种情况。该示例仅升级聚合父级,但保留其模块(继承它)不变。插件中有这个错误吗?如何解决这个问题?

我知道我可以在聚合中运行mvn versions:set来成功更新模块,但在这种情况下我必须指定版本(而不是使用最新的父级)。我知道我也可以制作一个脚本来解决这个问题,但这很脏。

那么,如何使用Maven Version Plugin正确升级版本,其中项目利用继承,聚合并跨多个存储库,并使用父POM作为版本声明的单一来源?

1 个答案:

答案 0 :(得分:1)

之后

mvn versions:2.1:update-parent

您可以尝试使用该命令更新子版本(as given here)

mvn versions:update-child-modules