1.pom.xml里的repositories元素,里面可以包含多少repository(至少默认包含了*仓库,每个repository都有一个id(此id非常重要))
2.maven获取真正起作用的repository集合流程:
首先会获取pom.xml里的repository集合,然后在settings.xml里找mirrors元素,如果repository的id和mirror的mirrorOf的值相同,则该mirror替代该repository,如果该repository找不到对应的mirror,则使用其本身。依此可以得到最终起作用的repository集合
3.关于maven如何查找pom.xml里dependencies里配置的插件,暂且不考虑本地仓库的存在,
maven会根据最终的repository集合里依次查找,如果查到了就从该仓库下载,并且停止对后续repository的查找(找到了就停)。所以可以看出用户在pom.xml里配置repository时,repository的顺序还是挺重要的。
注:1.从超级父pom里继承来的*repository在effective-pom里总是为最后一个repository.
2.maven*仓库存在该组件时一般会标记为“central”,否则需要引用第三方服务(私服)上组件