Maven 发布插件 - 如何仅发布快照?

时间:2021-02-05 06:30:35

标签: maven maven-release-plugin

我正在使用 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,它只是再次重复问题。

请就如何实现这一目标提出建议,或者我是否以错误的方式思考这个问题。

2 个答案:

答案 0 :(得分:3)

如果要部署 SNAPSHOT,只需运行

mvn clean deploy

Maven 发布插件适用于发布版本。

答案 1 :(得分:1)

SNAPSHOT 意味着非常流畅,在依赖项目的级别“立即”获取对 SNAPSHOT 依赖项的更改,无论“立即”意味着什么:它可以直接在IDE,或者在命令行和 CI 服务器上进行快速构建时。我同意 J Fabian Meier 的回答,您可以使用 SNAPSHOT 部署 mvn deploy

但是,如果您要向不同的团队提供用于测试的预发布版本,您可能希望他们拥有比 SNAPSHOT 更稳定的东西。在测试时,您可以推断出您正在运行的版本(或版本的星座)通常很重要,而 SNAPSHOT 的情况并非如此(您可能会推一个新版本然后准意外,用户可能会也可能不会force-update their SNAPSHOTs,或Maven may not look for new SNAPSHOTs until tomorrow)。

使用 Maven 发布插件发布的版本(从 Maven 的角度来看)您可能会更好(并从 the safeguards it offers 中受益),但只需使用表明它是预发布的版本“数字”: 2.2-rc、2.2-beta(我确定 SemVer has ideas 要使用的确切模式,以及 so does Maven)。