使本地存储库落入默认存储库

时间:2016-07-23 07:57:38

标签: maven repository

我的组织中有一个本地nexus存储库。我想确保当需要在开发人员的计算机上加载新工件时,它将首先进入本地存储库,如果找不到工件,则回退到默认的maven存储库并将其下载到本地存储库然后再开发者的机器。

在每台机器mirrorOf中使用settings.xml的方式是什么?

1 个答案:

答案 0 :(得分:1)

在settings.xml中定义镜像会将maven配置为覆盖其配置的存储库的位置。而不是使用存储库请求的位置,它将使用镜像中声明的位置。

要覆盖包括中央存储库在内的所有存储库的位置,请将以下内容添加到settings.xml文件中。

<mirrors>
  <mirror>
    <id>nexus-mirror</id>
    <url>http://nexus.example.com:8081/nexus/content/groups/examplegroup/</url>
    <mirrorOf>*</mirrorOf>
  </mirror>
</mirrors>

nexus服务器可以托管组和代理类型存储库。组存储库允许您引用多个存储库。代理存储库委托给远程存储库并缓存其工件。

在这种情况下,examplegroup需要配置为包含要回退的远程存储库的代理存储库。

您可以在pom.xml文件中配置其他存储库。除了默认存储库之外,还尝试了这些。

<repositories>
    <repository>
        <id>sonatype-nexus-snapshots</id>
        <name>Sonatype Nexus Snapshots</name>
        <url>https://oss.sonatype.org/content/repositories/snapshots</url>
        <releases>
            <enabled>false</enabled>
        </releases>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </repository>
</repositories>