maven 配置mirror后,本地庫與遠端庫沖突


settings.xml中主要包括以下元素:

  • localRepository
  • interavtiveMode
  • offline
  • pluginGroups
  • proxies
  • servers
  • mirrors
  • profiles
  • property
  • activeProfile
  • localRepository:表示Maven用來在本地儲存信息的本地倉庫的目錄。默認是用戶家目錄下面的.m2/repository目錄。
  • interactiveMode:表示是否使用交互模式,默認是true;如果設為false,那么當Maven需要用戶進行輸入的時候,它會使用一個默認值。
  • offline:表示是否離線,默認是false。這個屬性表示在Maven進行項目編譯和部署等操作時是否允許Maven進行聯網來下載所需要的信息。
  • pluginGroups:在pluginGroups元素下面可以定義一系列的pluginGroup元素。表示當通過plugin的前綴來解析plugin的時候到哪里尋找。pluginGroup元素指定的是plugin的groupId。默認情況下,Maven會自動把org.apache.maven.plugins和org.codehaus.mojo添加到pluginGroups下。
  • proxies:其下面可以定義一系列的proxy子元素,表示Maven在進行聯網時需要使用到的代理。當設置了多個代理的時候第一個標記active為true的代理將會被使用。
<proxies> <proxy> <id>xxx</id> <active>true</active> <protocol>http</protocol> <username>用戶名</username> <password>密碼</password> <host>代理服務器地址</host> <port>代理服務器的端口</port> <nonProxyHosts>不使用代理的主機</nonProxyHosts> </proxy> </proxies>

servers:其下面可以定義一系列的server子元素,表示當需要連接到一個遠程服務器的時候需要使用到的驗證方式。這主要有username/password和privateKey/passphrase這兩種方式。以下是一個使用servers的示例:

<servers> <server> <id>id</id> <username>用戶名</username> <password>密碼</password> </server> </servers>

mirrors:用於定義一系列的遠程倉庫的鏡像。我們可以在pom中定義一個下載工件的時候所使用的遠程倉庫。但是有時候這個遠程倉庫會比較忙,所以這個時候人們就想着給它創建鏡像以緩解遠程倉庫的壓力,也就是說會把對遠程倉庫的請求轉換到對其鏡像地址的請求。每個遠程倉庫都會有一個id,這樣我們就可以創建自己的mirror來關聯到該倉庫,那么以后需要從遠程倉庫下載工件的時候Maven就可以從我們定義好的mirror站點來下載,這可以很好的緩解我們遠程倉庫的壓力。在我們定義的mirror中每個遠程倉庫都只能有一個mirror與它關聯,也就是說你不能同時配置多個mirror的mirrorOf指向同一個repositoryId。 看以下是一個使用mirrors的例子:

<mirrors> <mirror> <id>mirrorId</id> <mirrorOf>repositoryId</mirrorOf> <name>定義一個容易看懂的名稱 </name> <url>http://my.repository.com/repo/path</url> </mirror> </mirrors>

配置項

  • id:是用來區別mirror的,所有的mirror不能有相同的id
  • mirrorOf:用來表示該mirror是關聯的哪一個倉庫,其值為其關聯倉庫的id。當要同時關聯多個倉庫時,這多個倉庫之間可以用逗號隔開;當要關聯所有的倉庫時,可以使用“”表示;當要關聯除某一個倉庫以外的其他所有倉庫時,可以表示為“,!repositoryId”;當要關聯不是localhost或用file請求的倉庫時,可以表示為“external:*”。
  • url:表示該鏡像的url。當Maven在建立系統的時候就會使用這個url來連接到我們的遠程倉庫。

 

 

待補充


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM