【发布时间】:2020-03-08 19:46:58
【问题描述】:
我在 Jenkins 中使用 Nexus 插件将应用程序发布到 Nexus。我正在尝试让管道发布快照版本。
管道给出以下错误消息:
未能部署元数据:无法将元数据组:artifact:1.0.0-SNAPSHOT/maven-metadata.xml 从/到组:artifact-snapshot (https://our-nexus-repo/group:artifact-snapshot):无法传输文件:https://our-nexus-repo/group:artifact-snapshot/group/artifact/1.0.0-SNAPSHOT/maven-metadata.xml。返回码为:400,ReasonPhrase:Invalid maven-metadata.xml GAV group, artifact, 1.0.0-SNAPSHOT 不匹配请求路径repository/group:artifact-snapshot/group/artifact/1.0.0-SNAPSHOT/maven-metadata .xml。
我查看了 Nexus 中的 .xml 并将其复制到之前没有此 .xml 文件的 repo 中,然后再次尝试。相同的错误信息。我删除了 Nexus 中的快照文件夹并再次尝试,同样的错误。我尝试更新快照版本号,同样的错误。我无法访问 Nexus 中的任何配置,这是我第一次接触 Jenkins。 pom 中的组、工件和版本信息是正确的。到目前为止在这里搜索并没有解决它。请问有什么想法吗?
【问题讨论】:
-
我有点担心您的地址中的组和工件之间有一个冒号:our-nexus-repo/group:artifact-snapshot。您在用假地址替换原始地址时犯了错误吗?或者你真的有一个冒号?
-
400 http 代码准确地表明您的请求有问题......
-
你是怎么做push操作的?在我看来,您正在使用 Nexus Jenkins 插件并手动传递 GAV 参数,这些参数可能与您工作区中 pom.xml 中的内容不匹配
-
@StanislavBashkyrtsev 是的,你是对的,我在替换时出错了。
-
@DanielHernández 最初 GAV 参数仅在 pom.xml 中,在此错误不断重复之后,我尝试通过复制 Nexus 中的值来制作 metadata.xml。我检查了它们是否与 pom 中的匹配