0

我想将我的 Maven 项目的版本更新为与当前快照版本对应的发布版本。例如1.2-SNAPSHOT应该变成1.2. 换句话说,我只想-SNAPSHOT从版本中删除后缀。我想以非交互方式执行此操作,以便我的 CI 工具可以执行此操作。

我知道这可以通过 themaven-release-plugin或 themaven-versions-plugin以及可能的其他插件来完成。我偏爱 ,maven-versions-plugin因为它可以很好地处理聚合器项目。

两个插件都提示输入新版本,但允许您在命令行上提供版本。如何提供相对于当前快照版本的新版本?如前所述,我只想删除该-SNAPSHOT部分。

所以要清楚:

  • 我只想更新项目的版本,而不是发布插件提供的所有其他内容。
  • 我不想指定版本号,而只是将版本更新为“之前的版本-SNAPSHOT”。
4

3 回答 3

0

使用 CI 工具,您应该能够直接在 POM 中编辑标签。

这是我的一个小项目的片段。

<modelVersion>4.0.0</modelVersion>
<groupId>com.organization</groupId>
<artifactId>pdf_tiff_conversion</artifactId>
<version>1.0-SNAPSHOT</version> // Edit this tag
<packaging>jar</packaging>
于 2016-07-06T13:02:53.650 回答
0

maven-release-plugin 完全符合您的要求 - 并且可以在非交互模式下运行以执行以下步骤:

构建项目

标记代码

将更改推送到您的 SCM

将版本修改为发布版本

再次构建

将版本化的 jar/war/ear/zip 推送到您选择的存储库

标记并推送

将版本号设置为下一个快照版本

等等

全部自动完成。

于 2016-07-06T13:01:45.463 回答
0

使用版本-maven-plugin:

mvn org.codehaus.mojo:versions-maven-plugin:2.1:set -DnewVersion=1.2 -DgenerateBackupPoms=false

不幸的是,这迫使您提供版本号 ( 1.2),它不会剥离-SNAPSHOT,但它是一个比发布插件更简单的解决方案。

于 2016-07-06T13:05:45.073 回答