Maven中mirrors和repository的關系


一、前言

  之前沒有搞清楚pom.xml里面配置的repositorys節點配置的倉庫和mirrors里面配置的倉庫的“鏡像”間的關系,特意去搜索了相關內容,這邊有篇文章講得透徹,所以這邊轉載一下~

二、正文

  1. pom.xml里的repositories元素,里面可以包含多少repository(至少默認包含了中央倉庫,倉庫id為central,可以寫個id為central的mirror或者repository覆蓋默認的中央倉庫,該倉庫總是在effective-pom里repositories元素的最后一 個子元素),每個repository都有一個id(此id非常重要),命令行執行:mvn help:effective-pom可以驗證
  2. maven獲取真正起作用的repository集合流程:首先會獲取pom.xml里的repository集合,然后在settings.xml里找mirrors元素,如果repository的id和mirror的mirrorOf的值相同,則該mirror替代該repository,如果該repository找不到對應的mirror,則使用其本身,依此可以得到最終起作用的repository集合
  3. 關於maven如何查找pom.xml里dependencies里配置的插件,暫且不考慮本地倉庫的存在(筆者注:應該是先查找本地的倉庫,如果本地倉庫查找不到,再通過repository里面配置的倉庫進行查找),maven會根據最終的repository集合里依次查找,如果查到了就從該倉庫下載,並且停止對后續repository的查找(找到了就停)。所以可以看出用戶在pom.xml里配置repository時,repository的順序還是挺重要的。

   注:從超級父pom里繼承來的中央repository在effective-pom里總是為最后一個repository.

   對於尋找reposiotry的mirror的一些理解:
   在settings.xml里配置mirror里,應該將<mirrorOf>*</mirrorOf>放在最后一個---->最好這么做

三、鏈接

1、http://blog.csdn.net/wuhelang90/article/details/49633579

四、聯系本人

  小生有些時候去看別人博客的時候會有苦惱,對於博客的內容有不解之時,很難去聯系作者探討,為此,小生留下聯系方式,如有游客閱讀敝人博客有不解之處,可以加入小生的QQ群進行詢問~(純公益,但是比較忙的時候不一定能及時解答,還望諒解)~

小杜比亞-博客園:261746360

 


免責聲明!

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



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