2016-07-23 86 views
0

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

正在使用mirrorOf在每台机器的settings.xml的方式去?

回答

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>