更改Maven项目版本的最佳方法是什么,发布此版本然后返回*-SNAPSHOT
开发。
目前我正在做以下事情:
SNAPSHOT
pom.xml
)
mvn -DnewVersion=<something> versions:set
),尊重问题Maven artifact version for patches mvn:install
发送给回购SNAPSHOT
后缀。我有强烈的感觉,我做错了什么和/或效率低下。
答案 0 :(得分:69)
您应该使用maven-release-plugin来发布您的工件。比自动所有版本都将通过release-plugin增加。例外情况可能是从1.0.3-SNAPSHOT到1.1.0-SNAPSHOT。 与Maven一起开发的时间表是:
1.0.0-SNAPSHOT
1.0.0
1.0.1-SNAPSHOT
1.0.1
1.0.2-SNAPSHOT
1.0.2
..
要从SNAPSHOT步骤到发布版本,您应该使用maven发布插件,只需使用以下内容即可发布工件:
第一步:
mvn release:prepare
最后一步:
mvn release:perform
如果您想接受默认设置,只需添加-B like:
mvn -B release:prepare
或者您可以将这些步骤合并为一个步骤:
mvn -B release:prepare release:perform
以上也可以在CI解决方案中使用。
使用mvn install仅用于将工件安装到本地存储库中。如果您正在使用真正的存储库管理器(我可以推荐),您必须使用:
mvn deploy
使用release插件的一个要求是在你的pom中配置scm区域(我希望你使用的是版本控制?)。
答案 1 :(得分:5)
如果您想要更好地控制发布阶段,maven-release-plugin(mrp)对您没什么帮助。
在这种情况下,我modified versions-maven-plugin可以增加版本,也可以添加/删除SNAPSHOT后缀。
由于这些新功能,您可以编写与mrp完全相同的脚本,但您可以完全控制每个步骤。
例如,在实际尝试构建它之前,mrp提交更改版本。如果构建失败,则必须还原该提交,或者,如果是SVN,则必须执行另一个还原提交。
注意:我不是增量函数的原作者。我已经采纳了它 来自autoincrement-versions-maven-plugin,如github页面所述。