当我在父 POM 上执行 mvn release:perform
时,服务器正在响应有关其中一个子项目的错误(文件名已编辑):
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy-file (default-cli) on project: Failed to deploy artifacts: Could not transfer artifact from/to repository: Failed to transfer file. Return code is: 400, ReasonPhrase: Bad Request.
但是,此子项目的所有文件已成功上传!我看到了一个新目录(以发布版本号命名),其中包含人们期望的所有 .jar、.pom、.md5 和 .sha1 文件。
我无权访问 Nexus 服务器,但我想知道可能是什么原因导致此问题以及如何解决此问题。 Maven 是否有可能尝试两次上传这个特定的子项目?如果是这样,为什么 Maven 会这样做,我该如何阻止它?
更新:如果您遇到同样的问题,请查看 this post 中点赞最多的答案.我运行 mvn help:effective-pom
并发现有问题的项目实际上有两次部署阶段的执行。删除其中一个处决解决了我的问题。
最佳答案
我遇到了同样的问题,发布了 maven多模块项目。第一次发生错误但部署目标已经联系nexus然后创建适当的路径。假设“发布” repo 是一次写入,我第二次触发它,nexus拒绝覆盖路径。
因此,在这种情况下,您可能会要求您的管理员删除 repo ... 或创建一个新版本。
PS : 迟到总比没有好;)
关于java - Nexus 接受上传但表示失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26003271/