【问题标题】:Release Candidate behaving like SNAPSHOT in Maven repositoryRelease Candidate 在 Maven 存储库中表现得像 SNAPSHOT
【发布时间】:2016-01-13 09:22:10
【问题描述】:

在开发中,我可以将工件的最新版本引用为 1.2.3-SNAPSHOT。现在我需要发布候选版本具有相同的行为,即我希望能够依赖最新的发布候选版本(开发人员还应该有一个程序将开发版本声明为发布候选版本)。

我不确定如何正确实施此行为。如果开发人员要求,我是否应该为候选版本使用额外的存储库并将开发版本移动到此存储库?或者我可以以某种方式定义“第二个快照列表”,例如 1.2.3-RC?

【问题讨论】:

  • 你看过这个answer了吗?
  • 类似 1.2.3-RC-SNAPSHOT 的行为是否像 SNAPSHOT,或者 SNAPSHOT 是否必须是完整的限定符(如 1.2.3-SNAPSHOT 中的)?
  • 不,只对它进行特殊处理的快照,afaik

标签: maven repository


【解决方案1】:

你可以重新配置一些东西:

  • 为依赖项使用版本范围
  • 更改存储候选版本的存储库的 updatePolicy。请参阅https://maven.apache.org/settings.html (updatePolicy)。如果您将工件存储在 Maven 代理中,通常需要允许覆盖发布。

请记住,在多模块构建中,他们可能会在检测到构建失败之前上传模块(因为mvn deploy 是一个阶段而不是目标)。在开始在 maven 存储库中上传工件之前,您需要验证完整的构建是否正常。或者以某种方式将它们上演。

请记住,这肯定会阻止您的构建可重现。由于 RC 依赖项可能会在构建之间发生变化。您需要更改版本范围 - 这并不总是一个问题。范围可能适合您。

我有更好的经验让开发人员留在快照上,但让 CI 服务器在部署/发布之前为工件使用的依赖项设置一个明确的版本(例如使用版本插件)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-28
    • 2011-12-04
    • 2016-04-19
    • 2019-09-28
    • 1970-01-01
    • 2014-05-31
    相关资源
    最近更新 更多