2013-04-27 96 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