2013-04-27 97 views
4

我有一些个人项目和少数公司的项目。公司项目使用镜像公司SVN回购协议来实现maven依赖。我想以这种方式配置我的settings.xml,首先检查我的企业镜像的依赖关系。只有在这里没有找到依赖关系(对于我的个人项目),那么它应该检查我公司回购反映的原始“中央”回购。这可能吗。下面是我现在所拥有的一小部分,但在需要时它不会触及“中央”回购。谢谢。多个镜像的maven设置

<servers> 
    <server> 
     <id>central-mirror</id> 
     <username>myusername</username> 
     <password>mypassword</password> 
     <filePermissions>664</filePermissions> 
     <directoryPermissions>775</directoryPermissions> 
     <configuration></configuration> 
    </server> 
</servers> 

<mirrors> 
    <mirror> 
     <id>central-mirror</id> 
     <url>https://url.to.my/mirror</url> 
     <mirrorOf>central</mirrorOf> 
    </mirror> 
</mirrors> 


<proxies> 
    <proxy> 
    <id>proxy</id> 
    <active>true</active> 
    <protocol>http</protocol> 
    <host>my.corporate.proxy</host> 
    <port>8080</port> 
    <nonProxyHosts>localhost|*.my.corporate.proxy</nonProxyHosts> 
</proxy> 
一些试验和错误,我终于想通了,如何做到这一点后

回答

3

确定。我希望这会帮助其他许多人。以下是我更新的settings.xml。对于我的Eclipse中的任何项目,maven首先尝试从我的企业镜像下载库。只有在那里找不到它,它才能从中央回购中获得。

<servers> 
    <server> 
     <id>central-mirror</id> 
     <username>myusername</username> 
     <password>mypassword</password> 
     <filePermissions>664</filePermissions> 
     <directoryPermissions>775</directoryPermissions> 
     <configuration></configuration> 
    </server> 
</servers> 

<mirrors> 
    <mirror> 
     <id>central-mirror</id> 
     <url>https://url.to.my/mirror</url> 
     <mirrorOf>*,!central</mirrorOf> 
    </mirror> 
</mirrors> 


<proxies> 
    <proxy> 
    <id>proxy</id> 
    <active>true</active> 
    <protocol>http</protocol> 
    <host>my.corporate.proxy</host> 
    <port>8080</port> 
    <nonProxyHosts>localhost|*.my.corporate.proxy</nonProxyHosts> 
</proxy> 

<profiles> 
    <profile> 
    <activeByDefault>true</activeByDefault> 
    <repositories> 
     <repository> 
      <id>central-mirror</id> 
      <url>https://url.to.my/mirror</url> 
     </repository> 
    </repositories> 
    </profile> 
</profiles 
+1

你能解释一下这有点?为什么只有一面镜子和回购时需要两面镜子? 为什么在这里定义了一个服务器? – 2016-02-18 10:42:03

0

好,我有一个类似的场景,如果神器不可企业回购,那么它应该default to global repo

我改变了我原来的settings.xml-两个变化

  1. 定义<proxy>标记为您的网络
  2. 如果mirrorOf属性为*然后将其更改为回购ID