通过配置maven的setting.xml以及项目pom.xml以控制maven仓库调用顺序

maven打包编译时默认先寻找本地仓库的jar包,但本地仓库找不到时会请求远程仓库,本篇主要讲下如何通过配置控制远程仓库的调用顺序。

1.<repositories>

  • 在setting.xml和项目的pom.xml文件中都可以使用<repositories>,可以在它下面添加多个<repository> ,每个<repository>都有ID,一个描述性的name,以及远程仓库的url。
  • maven会按顺序查找这些配置的远程库,需要注意的是,pom.xml中的<repository>优先级高于setting.xml中的<repository>,会被优先查找。
  • setting中的<repositories>不被直接支持,需要在<profiles>中配置。

2.<mirrors>

  • <mirrors>是setting.xml中的配置,是用于替代指定远程仓库的镜像服务器配置,可配置多个<mirror>,每个<mirror>有一个id,一个描述性的name,镜像url和<mirrorOf>。
  • 多个 mirror 优先级 按照 id字母顺序进行排列(即与编写的顺序无关)在第一个 mirror 找不到 artifact, 不会继续超找下一个镜像。只有当 mirror 无法链接的时候, 才会尝试链接下一个镜像, 类似容灾备份。
  • 主要说下<mirrorOf>,<mirrorOf>里填写被镜像服务器的id,这个id就是上面<repository>的id,可以填写多个,用逗号隔开,也可以填写通配符,具体语法不在这里详细说明。远程仓库id被填写在这里后,当maven访问此远程仓库(即访问<repository\的url时)会被镜像到访问<mirror>中的url。所以说<mirror>的优先级是高于<repository>。
    总的来说访问优先级的排序是:<mirror>高于pom.xml中的<repository>高于setting.xml中的<repository>。
  • 如果配置的是<mirror>*</mirror>,则所有远程库请求都会被镜像,不推荐使用。
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值