我对Maven很新。
我想我正在寻找一个系统:
目前,我有第一个,但不是第二个。 POM说:
<version>0.0.1-SNAPSHOT</version>
......所以Maven构建并部署快照。
我到目前为止最好的建议是编辑POM以“RELEASE”替换“SNAPSHOT”,提交/推送,等待构建,然后将其更改回来,提交/推送。不用说,我不就是这样。
实现这一目标的正确方法是什么?两个POM文件? (我也不喜欢这个,因为它们会有很多重复)某些命令行选项会覆盖version
?
如果重要,我们的构建系统是TeamCity,部署到Artifactory。我希望能得到更一般的答案。
答案 0 :(得分:1)
由于你是Maven的新手,你有没看过maven-release-plugin?
mvn release:prepare release:perform
它会上升您的版本,按以下顺序保存到SCM:
0.0.1-SNAPSHOT
0.0.1
0.0.2-SNAPSHOT
并在0.0.1版本上运行mvn deploy
以将其推送到Artifactory。
请注意,在某些情况下,此插件非常脆弱/缓慢/错误/加重/等:
这些条件在大型企业环境中最常见。请注意,在这种情况下,您仍然可以使用发布插件。问题是你必须每个库调用一次插件。这提出了一个单独的问题,即如何协调制作那么多的电话,按照正确的顺序调用它们,管理版本号等等。即使是Maven的创建者Jason van Zyl也承认这种情况是插件的弱点。
另一方面,如果符合以下任何条件,单次调用maven-release-plugin将非常适合您:
希望有所帮助。