maven中mirror與repositories的關(guān)系

<mirrors>

 <!-- 此處的mirrorOf不能隨便寫,要和repository name標(biāo)簽的一致 --> 
<!-- 
    maven獲取真正起作用的repository集合流程:首先會(huì)獲取pom.xml里的repository集合,然后在settings.xml里找mirrors元素,
    如果repository的id和mirror的mirrorOf的值相同,則該mirror替代該repository,
    如果該repository找不到對(duì)應(yīng)的mirror,
    則使用其本身,依此可以得到最終起作用的repository集合
          Internal Artifactory Maven repository作為私服,mirrorOf配置為*來提供中央倉庫中不存在的jar包
-->
 <mirror>  
    <id>mvn</id>  
    <mirrorOf>central</mirrorOf> 
    <url>https://maven.aliyun.com/repository/public</url>  
</mirror>   

 <mirror>
  <id>maven.dev.snaponglobal.com</id>
  <name>Internal Artifactory Maven repository</name>
  <url>https://repo.maven.apache.org/maven2/</url>
  <mirrorOf>*</mirrorOf>
</mirror>

</mirrors>

    <repositories>
        <!-- 此處的默認(rèn)包含了一個(gè)central的倉庫 --> 
        <repository>
            <id>nexus3</id>
            <name>nexus3</name>
            <url>http://172.16.8.6:8082/repository/maven-public/</url>
        </repository>
        <repository>
            <id>spring-milestones</id>
            <name>Spring Milestones</name>
            <url>https://repo.spring.io/milestone</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
    </repositories>

maven獲取真正起作用的repository集合流程:首先會(huì)獲取pom.xml里的repository集合,然后在settings.xml里找mirrors元素,
如果repository的id和mirror的mirrorOf的值相同,則該mirror替代該repository,
如果該repository找不到對(duì)應(yīng)的mirror,
則使用其本身,依此可以得到最終起作用的repository集合,
repositories中默認(rèn)包含了中央倉庫central,當(dāng)然也可以重新它的url;
可以理解mirror是復(fù)寫了對(duì)應(yīng)id的repository

mirror相當(dāng)于一個(gè)攔截器,它會(huì)攔截maven對(duì)remote repository的相關(guān)請(qǐng)求,把請(qǐng)求里的remote repository地址,重定向到mirror里配置的地址。

2.1 沒有配置mirror:

image.png

2.2 配置mirror:

image.png

<mirrorOf>A</mirrorOf> 此時(shí),B Repository被稱為A Repository的鏡像。

如果倉庫X可以提供倉庫Y存儲(chǔ)的所有內(nèi)容,那么就可以認(rèn)為X是Y的一個(gè)鏡像。換句話說,任何一個(gè)可以從倉庫Y獲得的構(gòu)件,都胡夠從它的鏡像中獲取。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容