【问题标题】:Nexus accepts upload but says it failedNexus 接受上传但表示失败
【发布时间】:2014-11-18 03:24:50
【问题描述】:

当我在父 POM 上执行 mvn release:perform 时,服务器正在响应有关其中一个子项目的错误(文件名已编辑):

[ERROR] 未能执行目标 org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy-file 项目上的(default-cli):无法部署工件:无法 从/向存储库传输工件:传输文件失败。 返回码为:400,ReasonPhrase:错误请求。

但是,此子项目的所有文件已成功上传!我看到了一个新目录(以发布版本号命名),其中包含人们期望的所有 .jar、.pom、.md5 和 .sha1 文件。

我无权访问 Nexus 服务器,但我想知道可能是什么原因导致此问题以及如何解决此问题。 Maven 是否有可能尝试两次上传这个特定的子项目?如果是这样,为什么 Maven 会这样做,我该如何阻止它?

更新:如果您遇到同样的问题,请查看this post 中点赞最多的答案。我跑了mvn help:effective-pom,发现有问题的项目实际上有两次部署阶段的执行。删除其中一个处决解决了我的问题。

【问题讨论】:

  • 您尝试部署的版本是否已经存在?
  • @wrongAnswer: 不。当错误第一次发生时,我认为可能是问题所在,所以我明确删除了工件的新目录(以及另一个没有错误上传的子项目的目录)和又试了一次。这导致了同样的问题:两个子项目都上传了,但第二个子项目再次给出了“Bad Reqeust”,即使它上传成功。
  • 你能给出完整的错误...
  • 这是我在进行类似设置时遇到的错误:gist.github.com/arun-gupta/4cb82e44a29561c3d6a4
  • 即使您部署到 localhost:8081,您也无权访问 Nexus?我会尝试在工件上执行 wget 并查看它是否真的存在以及它是否有效并使用您期望的时间戳构建(在清单文件中)。

标签: java maven nexus


【解决方案1】:

我在发布 多模块项目时遇到了同样的问题。第一次发生错误但部署目标已经联系然后创建适当的路径。假设“发布”repo 是一次写入的,我第二次触发它时, 拒绝覆盖路径。

因此,在这种情况下,您可能会要求您的管理员删除 repo ... 或创建一个新版本。

PS : 迟到总比没有好;)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-03
    • 2018-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多