我想将我的Maven项目的版本更新为与当前快照版本对应的发行版本。例如。 1.2-SNAPSHOT
应该成为1.2
。换句话说,我只想从版本中删除-SNAPSHOT
后缀。我想以非交互方式执行此操作,以便我的CI工具可以执行此操作。
我知道可以使用maven-release-plugin
或maven-versions-plugin
以及可能的其他插件来完成此操作。我偏好maven-versions-plugin
因为它很好地处理聚合器项目。
两个插件都提示输入新版本,但允许您在命令行上提供该版本。如何提供相对于当前快照版本的新版本?如上所述,我只想删除-SNAPSHOT
部分。
所以要明确:
-SNAPSHOT
"之前是什么,答案 0 :(得分:0)
maven-release-plugin完全符合您的要求 - 并且可以在非交互模式下运行以执行以下步骤:
构建项目
标记代码
将更改推送到SCM
将版本修改为第一版
再次构建
将版本化的jar / war / ear / zip推送到您选择的存储库
标记并按
将版本号设置为下一个快照版本
等
全部自动完成。
答案 1 :(得分: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>
答案 2 :(得分:0)
使用versions-maven-plugin:
mvn org.codehaus.mojo:versions-maven-plugin:2.1:set -DnewVersion=1.2 -DgenerateBackupPoms=false
这不幸地迫使您提供版本号(1.2
),它不会剥离-SNAPSHOT
,但它是一个比发布插件更简单的解决方案。