【问题标题】:How to automate version changes in pom.xml如何自动化 pom.xml 中的版本更改
【发布时间】:2018-10-16 12:49:19
【问题描述】:

在新产品发布期间,我需要更改每个 pom.xml 中的版本。我需要从 current-SNAPSHOT 将其更改为一些新发布的版本。我想自动执行此操作,因为它在发布期间需要大量时间。

<groupId>com.abc.myProduct</groupId> <artifactId>myproduct</artifactId> <version>current-SNAPSHOT</version> <packaging>pom</packaging>

任何避免这种手动工作的想法。我尝试了 maven replacer 插件但没有用。

【问题讨论】:

  • 你的意思是你自己项目的版本依赖的版本?
  • 依赖和项目
  • "...我需要更改每个 pom.xml 中的版本" - 当你意识到你不需要这个时,生活会变得更容易:)
  • @StanislavBashkyrtsev 你能解释一下你的评论是什么意思吗?
  • POM 版本与发布周期无关。这是构建的版本 - 它们很重要。那些有时间戳、内部版本号、提交哈希等等——无论如何它们都是独一无二的。您可以发布二进制文件而无需更改 POM 版本。这简化了脚本。

标签: maven dependencies pom.xml


【解决方案1】:

使用versions-maven-plugin

mvn versions:set -DnewVersion=1.0.0

你可以看到这个链接:Changing the project version

【讨论】:

    【解决方案2】:

    首先:如果有很多项目你总是一起发布,考虑构建一个多模块项目。然后您可以一起构建和发布(Maven 发布插件)所有模块,而不会出现上述问题。

    如果您单独发布项目,则需要以正确的顺序构建它们(这样如果 A 依赖于 B,则首先构建 B)。在每个项目上,您可以使用versions:use-releases 自动将所有 SNAPSHOT 版本替换为其已发布的对应版本 (https://www.mojohaus.org/versions-maven-plugin/use-releases-mojo.html)。然后您使用 Maven 发布插件来构建项目,以便您将发布版本发布到您的存储库。迭代,直到您构建了所有项目。

    【讨论】:

      猜你喜欢
      • 2021-07-01
      • 1970-01-01
      • 2014-03-09
      • 2023-03-06
      • 2014-10-28
      • 1970-01-01
      • 2017-10-31
      • 1970-01-01
      • 2019-09-18
      相关资源
      最近更新 更多