Maven - 如何使用两个镜像

Maven - How to use two mirrors

我必须使用两个镜子。 在 .m2/settings 我有

<mirrors>    
    <mirror>
      <id>nexus_xyz</id>
      <mirrorOf>*</mirrorOf>
      <url>https://../</url>
    </mirror>
    <mirror>
        <id>nexus_wso2</id>
        <mirrorOf>*</mirrorOf>
        <url>http://maven.wso2.org/nexus/content/groups/wso2-public/</url>
    </mirror>
</mirrors>

然后在我项目的pom.xml不知道怎么说要从第一个镜像下载一些东西,从第二个镜像下载一些东西。谢谢

如果包不在第一个镜像中,它应该回退到第二个。

在 Maven 中,无法告诉它 "download this dependency from this mirror, or repository"。

坏消息:您无法确定不同的依赖项应该从哪里下载。

但好消息是:您不需要这样的东西。镜像通常只有在您想将(几乎)每个请求发送到同一个存储库时才有意义。如果你有一家公司 Nexus/Artifactory 并使用它来代理你需要的所有外部存储库,你通常会这样做。如果您没有公司 Nexus/Artifactory,您应该在 settings.xml 中的 <repositories> 标签下列出您需要的存储库。在这种情况下,您不定义镜像,或者您只镜像所有您不处理的请求(通过将 <mirrorOf> 设置为 *,!rep1,!rep2 之类的东西)。然后 Maven 将遍历 所有 定义的存储库,直到找到所需的工件。