【问题标题】:Maven Versions Plugin, update parent recursively in multi-module projectMaven 版本插件,在多模块项目中递归更新父级
【发布时间】: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


【解决方案1】:

之后

mvn versions:2.1:update-parent

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

mvn versions:update-child-modules

【讨论】:

  • 这仍然是我发现使其按预期工作的唯一解决方案。
猜你喜欢
  • 2017-01-19
  • 2013-04-04
  • 1970-01-01
  • 2011-08-09
  • 2013-10-14
  • 2019-01-10
  • 2017-06-21
  • 1970-01-01
  • 2011-01-21
相关资源
最近更新 更多