• 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

  • 相关阅读:
    Qt中实现启动画面(延时过程中要加上app.processEvents())
    Qt5中生成和使用静态库
    360云后台(使用HTTP Cache服务器)
    lucene 从2.4.0—3.6.0—4.3.1版本升级
    从C++到Qt(命令行编译,讲解原理)
    赵伟国的逻辑
    windows 7 系统进程服务详解
    QT 4.87 changes
    海量小文件存储
    最大连续子序列乘积
  • 原文地址:https://www.cnblogs.com/xdouby/p/6502925.html
Copyright © 2020-2023  润新知