背景
从gitee下载了一个开源项目,导入idea后,爆红。
有三个包下载不下来,该项目的pom.xml中配置了一个私服,三个包从这个私服才能下载下来。
但是报错说的是从aliyunmaven镜像地址下载不到那三个包。
aliyunmaven确实不存在这三个包呀,因为那是人家私服里的,人家没有放到阿里云镜像。
正常逻辑应该从项目配置的私服里下载才对。
这说明配置的私服没生效。
解决方法
在settings.xml中将mirrorOf的*改掉。
原来的配置
<mirror>
<id>aliyunpublic</id>
<mirrorOf>*</mirrorOf>
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
修改后的配置
解释
我原来的settings.xml(全局配置)中配置了一个 mirror,因为mirrorOf配置的是*,会作为所有的仓库的镜像。 所以即使项目的pom.xml中配置了私服,也会走全局配置中的镜像。
在全局配置里新加一个mirror,id叫public,mirrorOf填public(这里的public对应pom.xml配置的repositories->repository->id,表示是该仓库的镜像),url就是私服地址(从项目的pom.xml里配置的私服url拷贝过来),然后在id叫aliyunpublic的mirror配置中,排除掉仓库id为public的仓库。即mirrorOf的值修改为*,!public。
这样的意思是:除了public外,其他仓库走阿里云镜像。public仓库走public镜像。