我的maven settings.xml(位于Jenkins的managedfiles部分中)有多个存储库。
<repositories>
<repository>
<id>nexus-abc</id>
<name>Nexus Everything Repository</name>
<url>https://nexus.us.abc.com/repository/abc-maven-group/</url>
<releases>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
</repository>
<repository>
<id>newutil</id>
<name>newutil Repository</name>
<url>https://nexus.us.abc.com/repository/cd-datautil-releases-maven-hosted/</url>
<releases>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
</repository>
</repositories>
我假设存储库部分仅用于依赖项下载。我的一个项目从https://nexus.us.abc.com/repository/cd-datautil-releases-maven-hosted/下载了依赖项,并且工作正常。我有另一个项目需要从https://nexus.us.abc.com/repository/abc-maven-group/下载依赖项jar,但是在构建它时会在Jenkins日志中得到此消息:
无法读取com.abc1.abc2.abc:abc-spanner-model:jar:1.0_GCP-SNAPSHOT的工件描述符:无法传输工件com.abc1.abc2.abc:abc-spanner-model:pom:从/到newutil(https://nexus.us.abc.com/repository/cd-datautil-releases-maven-hosted/)的1.0_GCP-SNAPSHOT:无法传输文件https://nexus.us.abc.com/repository/cd-datautil-releases-maven-hosted/com/abc1/abc2/abc/abc-spanner-model/1.0_GCP-SNAPSHOT/abc-spanner-model-1.0_GCP-SNAPSHOT.pom。返回码是:400,ReasonPhrase:仓库版本策略:RELEASE不允许版本:1.0_GCP-SNAPSHOT。 -> [帮助1]
它正在尝试从其他存储库(newutil)下载并失败。如何使它从nexus-abc下载?我已经更改了存储库的顺序,但是它仍然尝试使用错误的存储库,但失败了。下载依赖项时,Maven是否遵循任何顺序?为什么不尝试从nexus-abc下载?我必须在项目的pom.xml中添加任何内容吗?
答案 0 :(得分:0)
我们制作了依赖项jar的发行版并将其推送到第二个存储库后,此问题已解决。