我正在使用 maven 发布插件来部署新版本的软件。 运行时
mvn release:prepare
mvn release:perform
一切都按预期进行。
如果我告诉 Maven 发布 2.1 版,它会发布一个工件 2.1
和一个 2.2-20210205.061032-1
,我猜这是某种快照。我想知道是否可以仅针对新的快照版本执行发布?
用例是,在提交最终版本之前,我已经做了一些我想发布以供测试的更改。类似 2.2-SNAPSHOT
或类似 2.2-YYYYMMDD.HHmmSS-X
的内容。
当maven提示进入下一个版本时,如果我输入2.2-SNAPSHOT
,它只是再次重复问题。
请就如何实现这一目标提出建议,或者我是否以错误的方式思考这个问题。
答案 0 :(得分:3)
如果要部署 SNAPSHOT,只需运行
mvn clean deploy
Maven 发布插件适用于发布版本。
答案 1 :(得分:1)
SNAPSHOT
意味着非常流畅,在依赖项目的级别“立即”获取对 SNAPSHOT
依赖项的更改,无论“立即”意味着什么:它可以直接在IDE,或者在命令行和 CI 服务器上进行快速构建时。我同意 J Fabian Meier 的回答,您可以使用 SNAPSHOT
部署 mvn deploy
。
但是,如果您要向不同的团队提供用于测试的预发布版本,您可能希望他们拥有比 SNAPSHOT
更稳定的东西。在测试时,您可以推断出您正在运行的版本(或版本的星座)通常很重要,而 SNAPSHOT
的情况并非如此(您可能会推一个新版本然后准意外,用户可能会也可能不会force-update their SNAPSHOT
s,或Maven may not look for new SNAPSHOT
s until tomorrow)。
使用 Maven 发布插件发布的版本(从 Maven 的角度来看)您可能会更好(并从 the safeguards it offers 中受益),但只需使用表明它是预发布的版本“数字”: 2.2-rc、2.2-beta(我确定 SemVer has ideas 要使用的确切模式,以及 so does Maven)。