相信大家在使用maven的时候都会配置阿里的镜像,以加速jar包的下载。但是当打开开源的源码时,就会报各种包找不到。这很让人恼火。但是其实这是由于我们配置有问题导致的。
阿里云仓库地址:https://developer.aliyun.com/mvn/guide
然后配置指引是这样的:

一般,我们构建自己的项目,倒也够用。然鹅,当你需要用到一些快照版本来学习一些新鲜玩意/特性的时候,可能就下载不到对应的jar。
为什么呢?
一般这种包,通常在快照仓库里。而按照阿里的配置指引,我们配置的是所有jar包都在这个阿里的公共仓库里面找。
一旦我们配置了这个,maven就认为你这个镜像拥有所有的jar,只会在这个镜像里面找。
那坑定找不到啊。而实际上,阿里的仓库还分了好几个,并不止有一个公共仓库:

于是,我一气之下,为了一劳永逸,一口气把这些镜像在settings.xml里全部配置上了,这下再也不用担心jar找不到了。除非这么多的仓库全部都找不到,但这不合理吧…
<mirrors>
<mirror>
<id>aliyunmaven-centralid>
<mirrorOf>centralmirrorOf>
<name>阿里云中心仓库name>
<url>https://maven.aliyun.com/repository/centralurl>
mirror>
<mirror>
<id>aliyunmaven-publicid>
<mirrorOf>public,jcentermirrorOf>
<name>阿里云公共仓库name>
<url>https://maven.aliyun.com/repository/publicurl>
mirror>
<mirror>
<id>aliyunmaven-googleid>
<mirrorOf>googlemirrorOf>
<name>阿里云谷歌仓库name>
<url>https://maven.aliyun.com/repository/googleurl>
mirror>
<mirror>
<id>aliyunmaven-gradle-pluginid>
<mirrorOf>gradle-pluginmirrorOf>
<name>阿里云谷歌插件仓库name>
<url>https://maven.aliyun.com/repository/gradle-pluginurl>
mirror>
<mirror>
<id>aliyunmaven-springid>
<mirrorOf>springmirrorOf>
<name>阿里云spring仓库name>
<url>https://maven.aliyun.com/repository/springurl>
mirror>
<mirror>
<id>aliyunmaven-spring-pluginid>
<mirrorOf>spring-pluginmirrorOf>
<name>阿里云spring插件仓库name>
<url>https://maven.aliyun.com/repository/spring-pluginurl>
mirror>
<mirror>
<id>aliyunmaven-grails-coreid>
<mirrorOf>grails-coremirrorOf>
<name>阿里云grails-core仓库name>
<url>https://maven.aliyun.com/repository/grails-coreurl>
mirror>
<mirror>
<id>aliyunmaven-snapshotid>
<mirrorOf>apache snapshotsmirrorOf>
<name>阿里云快照仓库name>
<url>https://maven.aliyun.com/repository/apache-snapshotsurl>
mirror>
mirrors>
这里算记录一个坑。关于配置问题,如果存在问题,还是要从配置本身出发,弄明白自己到底配置了什么,才能有的放矢。
方法总比问题多,希望对大家有帮助。