【发布时间】:2018-02-13 07:45:28
【问题描述】:
我有以下 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 以成功更新模块,但在这种情况下,我必须指定版本(而不是使用 latest 父版本)。我知道我也可以编写一个脚本来解决这个问题,但这很脏。
那么,如何使用 Maven 版本插件正确升级版本,其中项目利用继承、聚合并跨越多个存储库,并使用父 POM 作为版本声明的单一来源?
【问题讨论】:
-
您使用的插件是versions-maven-plugin 而不是 Maven 版本插件...此外,您能否制作一个示例项目并在版本-maven-plugin 上创建一个问题。 .
标签: java maven version project maven-versions-plugin