maven配置了多个仓库依赖查找顺序
目录
1. 预备知识
1.1 仓库分类
maven三类仓库
本地(local)
中央(central)
远程(remote)
1.2 配置文件类型
重复的配置,会覆盖。user覆盖global,project覆盖user。
2. 依赖查找顺序大致如下:
(1),在本地仓库中寻找
(2),在全局配置的远程仓库(settings.xml中配置的并有激活)中寻找(如果被mirror拦截,则从mirror查询)
(3),在项目自身配置的远程仓库(pom.xml)中寻找(如果被mirror拦截,则从mirror查询)
(4),在中央仓库中寻找(如果被mirror拦截,则从mirror查询)
注:
1、如果在找寻的过程中,如果发现该仓库有镜像设置,则用镜像的地址代替。例如现在进行到要在respository A仓库中查找某个依赖,但A仓库配置了mirror,则会转到从A的mirror中查找该依赖,不会再从A中查找。
2、settings.xml中配置的profile(激活的)下的respository优先级高于项目中pom文件配置的respository。
3、如果仓库的id设置成“central”,则该仓库会覆盖maven默认的中央仓库配置。
3. 思考:为什么顺序这样设置
- 减少中央库的服务器的压力。现在本地仓库找,就不用联网。本地库没有则在远程库找,也不用去中央库查找。
- 提高响应下载速度