关于maven配置私服地址无效问题

入职新公司,公司内网有内部搭建的maven私服,但是在本地maven的setting文件中配置上私服地址后,一直无法拉取私服的一些jar包。经过仔细的排查,发现问题出在之前配置的远程阿里云maven镜像上。

在maven的setting.xml文件中,mirror标签内配置镜像后,会拦截连接远程仓库的请求,从mirror配置的url地址中获取依赖。常见阿里云maven,如下图:在这里插入图片描述
私服地址一般配置在setting文件中的 repository标签下,如下图:
在这里插入图片描述

问题主要出在mirror标签下的mirrorOf属性上,该属性的配置存在以下四种情况

  1. <mirrorOf>*</mirrorOf>
    匹配所有远程仓库。
    此种情况下,repository中配置的私服失效。
  2. <mirrorOf>external:* </mirrorOf>
    匹配所有远程仓库,除了本地仓库和基于文件协议的仓库。
    此种情况下,repository中配置的私服失效。
  3. <mirrorOf>repo1,repo2 </mirrorOf>
    匹配用逗号分隔的多个仓库(基于ID)
    此种情况下,没有匹配私服仓库时,私服仓库有效。
  4. <mirrorOf>*,!repo1 </mirrorOf>
    匹配除了repo1以外的所有仓库(感叹号排除)
    此种情况下,排除私服仓库ID,私服有效。

我开始mirrorOf标签配置的值是*,会拦截所有连接远程仓库的请求,直接导致配置的私服地址失效,无法拉取私服上的jar包与相关资源。后修改mirrorOf的值为central,表示会覆盖掉maven默认的中央仓库,但不会拦截所有连接远程仓库的请求,私服地址有效,实测问题解决。

参考地址:maven官网镜像设置指南

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值