【问题标题】:Maven release plugin - how to publish only a snapshot?Maven 发布插件 - 如何仅发布快照?
【发布时间】:2021-05-09 12:28:34
【问题描述】:

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

请就如何实现这一点提出建议,或者我是否以错误的方式考虑这一点。

【问题讨论】:

    标签: maven maven-release-plugin


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

      如果要部署 SNAPSHOT,只需运行

      mvn clean deploy

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

      【讨论】:

      • 哦,就是这么简单!谢谢!
      猜你喜欢
      • 1970-01-01
      • 2020-10-19
      • 2021-11-10
      • 2016-09-09
      • 1970-01-01
      • 2020-05-07
      • 1970-01-01
      • 1970-01-01
      • 2017-03-01
      相关资源
      最近更新 更多