Java 如何将工件发布重新部署到nexus而不使用;400,理由短语:糟糕的请求。”;回答?

Java 如何将工件发布重新部署到nexus而不使用;400,理由短语:糟糕的请求。”;回答?,java,jenkins,build,nexus,sonatype,Java,Jenkins,Build,Nexus,Sonatype,好的,我有一个x.y.z版本的工件版本,我想在不更改其版本的情况下自动重新部署它(我不能更改版本!) 工件被分为三个罐子,分别生成。因此,我: 工件图形用户界面 伪影核心32位 伪影核64位 它们都有相同的版本。部署快照版本时没有问题。但是当我部署发布版时,nexus在jenkins控制台中抛出这个错误: Caused by: org.apache.maven.wagon.TransferFailedException: Failed to transfer file: http://my

好的,我有一个x.y.z版本的工件版本,我想在不更改其版本的情况下自动重新部署它(我不能更改版本!)

工件被分为三个罐子,分别生成。因此,我:

  • 工件图形用户界面
  • 伪影核心32位
  • 伪影核64位
它们都有相同的版本。部署快照版本时没有问题。但是当我部署发布版时,nexus在jenkins控制台中抛出这个错误:

Caused by: org.apache.maven.wagon.TransferFailedException: Failed to transfer file: 
http://myNexus/nexus/content/repositories/releases/my/package/project/x.y.z/jar-file-x.y.z.jar.
Return code is: 400, ReasonPhrase: Bad Request.

当然,问题是我在一个版本中部署了多个发布工件,显然这个版本需要是唯一的。但我确实需要这样部署它。有没有办法强迫nexus不止一次地接受一个版本?

我认为您必须更新版本存储库的部署策略。应将其设置为“允许重新部署”,而不是“禁用重新部署”。
有关此主题的更多信息,请参阅。

我认为这不是一个好主意,因为禁用此策略将影响所有存储库工件。连续交付不是为了像这样使用。你知道一种只为这个工件启用重新部署的方法吗?这将非常有用。是的,我同意。但是只为一个工件启用它将不起作用-在Sonatype Nexus中,您正在存储库级别设置部署策略。几年后,有人对我的问题进行了投票,我来这里检查答案,因为我不记得我当时做了什么,哈哈哈,但我注意到我忘记了对您的答案进行投票。感谢您当时的帮助:)