zoukankan      html  css  js  c++  java
  • maven中mirror与repositories的关系

    <mirrors>

     <!-- 此处的mirrorOf不能随便写,要和repository name标签的一致 --> 
    <!-- 
        maven获取真正起作用的repository集合流程:首先会获取pom.xml里的repository集合,然后在settings.xml里找mirrors元素,
        如果repository的id和mirror的mirrorOf的值相同,则该mirror替代该repository,
        如果该repository找不到对应的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>
            <!-- 此处的默认包含了一个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集合流程:首先会获取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:

     
    image.png

    2.2 配置mirror:

     
    image.png

    <mirrorOf>A</mirrorOf> 此时,B Repository被称为A Repository的镜像。

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



    作者:舒尔诚
    链接:https://www.jianshu.com/p/c2ca01cdcb6e
    来源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 相关阅读:
    单进程架构数据库谨防隐形杀手
    21.2 超时与重传的简单例子
    19日下午三点直播:DevOps体系中数据库端的四大问题及解决之道
    SQL无所不能:DBA宝妈宝爸系列分享
    用Excel做了7天报表,这个领导喜欢的可视化工具,只用了7小时
    从块结构谈表的存储参数与性能之间的关系
    MYSQL SHELL 到底是个什么局 剑指 “大芒果”
    大数据构架师经典学习宝典
    POJ 3171 区间最小花费覆盖 (DP+线段树
    POJ 3171 区间最小花费覆盖 (DP+线段树
  • 原文地址:https://www.cnblogs.com/wcss/p/13023913.html
Copyright © 2011-2022 走看看