我希望将Maven项目的版本更新为与当前快照版本相对应的发布版本。1.2-SNAPSHOT应该变成1.2。换句话说,我只想从版本中删除-SNAPSHOT后缀。我想以一种非交互的方式这样做,这样我的CI工具就可以执行这个操作。
我知道这可以通过maven-release-plugin或maven-versions-plugin以及其他插件来完成。我对maven-versions-plugin有一个偏好,因为它很好地处理聚合器项目。
这两个插件都提示输入新版本,但允许您在命令行上提供版本。如何提供相对于当前快照版本的新版本?如前所述,我只想删除-SNAPSHOT部分。
因此,要明确:
-SNAPSHOT之前的任何内容”。发布于 2016-07-06 13:01:45
maven发布插件完全按照您的要求运行,并且可以在非交互模式下运行,以执行以下步骤:
构建项目
标记代码
将更改推送到您的SCM
将版本修改为第一版
再建
将版本化的jar/war/ear/zip推送到您选择的存储库
标签和推送
将版本号设置为下一个快照版本。
等。
都是自动完成的。
发布于 2016-07-06 13:02:53
使用您的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-06 13:05:45
使用版本-maven-plugin:
mvn org.codehaus.mojo:versions-maven-plugin:2.1:set -DnewVersion=1.2 -DgenerateBackupPoms=false不幸的是,这迫使您提供版本号(1.2),它不会删除-SNAPSHOT,但它是一个比发布插件简单得多的解决方案。
https://stackoverflow.com/questions/38224599
复制相似问题