maven中mirror与repositories的关系

  

   
    mvn  
    central 
    https://maven.aliyun.com/repository/public  
   

 
  maven.dev.snaponglobal.com
  Internal Artifactory Maven repository
  https://repo.maven.apache.org/maven2/
  *

    
         
        
            nexus3
            nexus3
            http://172.16.8.6:8082/repository/maven-public/
        
        
            spring-milestones
            Spring Milestones
            https://repo.spring.io/milestone
            
                false
            
        
    

maven获取真正起作用的repository集合流程:首先会获取pom.xml里的repository集合,然后在settings.xml里找mirrors元素,
如果repository的id和mirror的mirrorOf的值相同,则该mirror替代该repository,
如果该repository找不到对应的mirror,
则使用其本身,依此可以得到最终起作用的repository集合,
repositories中默认包含了中央仓库central,当然也可以重新它的url;
可以理解mirror是复写了对应id的repository

mirror相当于一个拦截器,它会拦截maven对remote repository的相关请求,把请求里的remote repository地址,重定向到mirror里配置的地址。

2.1 没有配置mirror:

maven中mirror与repositories的关系_第1张图片
image.png

2.2 配置mirror:

maven中mirror与repositories的关系_第2张图片
image.png

A 此时,B Repository被称为A Repository的镜像。

如果仓库X可以提供仓库Y存储的所有内容,那么就可以认为X是Y的一个镜像。换句话说,任何一个可以从仓库Y获得的构件,都胡够从它的镜像中获取。

你可能感兴趣的:(maven中mirror与repositories的关系)