【问题标题】:Staging of Repository within profile ID='X' is not yet started配置文件 ID='X' 中的存储库暂存尚未开始
【发布时间】:2015-02-17 16:18:00
【问题描述】:

尝试在临时存储库上部署会导致 maven 方面

400 , ReasonPhrase:Bad Request

并且服务器日志包含

配置文件 ID='X' 中的存储库暂存尚未开始!

使用 maven-deploy-plugin 或 maven-release-plugin 没有区别。这三个都导致了上面的错误。
我的部署用户拥有(管理员)部署到每个暂存配置文件的权限。

maven-release-plugin:

mvn release:stage -DstagingRepository=nexus::default::http://localhost:8081/nexus/service/local/staging/deploy/maven2

如果您不使用带有 maven-release-plugin 的版本,例如 SNAPSHOT 限定符和类似的,nexus-staging-plugin 可以正常工作。

我错过了什么?

【问题讨论】:

    标签: maven-3 nexus


    【解决方案1】:

    不允许暂存快照版本,您需要使用发布版本。

    乍一看,您可能认为这可以通过让 Nexus 重写 pom 文件并重命名工件来完成。但这并不是那么简单,版本号通常嵌入在工件本身中。对于诸如 war/ear 文件之类的组装工件尤其如此,您会在包含的工件和工件内的配置文件中找到版本号。即使这些可以通过 Nexus 重写,更改版本号也可能会改变工件的行为。在任何情况下,Nexus 都不会更改分阶段的工件,所做的任何更改都可能导致回归。分阶段的工件(就像部署到 Nexus 的所有工件一样)是不可变的。

    因此,您需要在暂存时使用发布版本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-17
      • 1970-01-01
      • 2016-10-23
      • 1970-01-01
      • 1970-01-01
      • 2016-05-31
      相关资源
      最近更新 更多