maven中的mirrors


文章轉自http://blog.csdn.net/technologyboy/article/details/17143641

簡單點來說,repository就是個倉庫。maven里有兩種倉庫,本地倉庫和遠程倉庫。遠程倉庫相當於公共的倉庫,大家都能看到。本地倉庫是你本地的一個山寨版,只有你看的到,主要起緩存作用。當你向倉庫請求插件或依賴的時候,會先檢查本地倉庫里是否有。如果有則直接返回,否則會向遠程倉庫請求,並做緩存。你也可以把你做的東西上傳到本地倉庫給你本地自己用,或上傳到遠程倉庫,供大家使用。 
遠程倉庫可以在工程的pom.xml文件里指定,樓上兩位已經列的很清楚了。如果沒指定,默認就會把下面這地方做遠程倉庫,即默認會到http://repo1.maven.org/maven2這個地方去請求插件和依賴包。 
   

Xml代碼   收藏代碼
  1. <repository>  
  2.       <snapshots>  
  3.         <enabled>false</enabled>  
  4.       </snapshots>  
  5.       <id>central</id>  
  6.       <name>Maven Repository Switchboard</name>  
  7.       <url>http://repo1.maven.org/maven2</url>  
  8.     </repository>  


本地倉庫默認在你本地的用戶目錄下的.m2/repository目錄下。 

mirror就是鏡像,主要提供一個方便地切換遠程倉庫地址的途徑。比如,上班的時候在公司,用電信的網絡,連的是電信的倉庫。回到家后,是網通的網絡,我想連網通的倉庫,就可以通過mirror配置,統一把我工程里的倉庫地址都改成聯通的,而不用到具體工程配置文件里一個一個地改地址。 
mirror的配置在.m2/settings.xml里。如: 

Xml代碼   收藏代碼
  1. <mirrors>  
  2.   <mirror>  
  3.     <id>UK</id>  
  4.     <name>UK Central</name>  
  5.     <url>http://uk.maven.org/maven2</url>  
  6.     <mirrorOf>central</mirrorOf>  
  7.   </mirror>  
  8. </mirrors>  


這樣的話,就會給上面id為central的遠程倉庫做了個鏡像。以后向central這個倉庫發的請求都會發到http://uk.maven.org/maven2而不是http://repo1.maven.org/maven2了。 
<mirrorOf>central</mirrorOf>里是要替代的倉庫的id。如果填*,就會替代所有倉庫。 


免責聲明!

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



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