maven settings.xml中的多个存储库。 Maven尝试从错误的存储库下载

时间:2020-04-25 14:35:21

标签: maven jenkins nexus maven-assembly-plugin

我的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中添加任何内容吗?

1 个答案:

答案 0 :(得分:0)

我们制作了依赖项jar的发行版并将其推送到第二个存储库后,此问题已解决。