微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

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

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

解决方法

如果要部署 SNAPSHOT,只需运行

mvn clean deploy

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

,

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)。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?