1

我有以下 Maven 项目结构

pom.xml (parent)  

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

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

但是,Maven 版本插件并非如此。该示例仅升级聚合父级,但保持其模块(继承它)不变。这是插件中的错误吗?如何解决这个问题?

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

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

4

1 回答 1

3

之后

mvn versions:2.1:update-parent

您可以尝试更新子版本的命令(如此处给出)

mvn versions:update-child-modules
于 2017-09-05T10:30:56.467 回答