记得当初学习Maven的时候,由国外的中央仓库切换为阿里云镜像之后,用起来是辣么地丝滑~
不过最近一段时间,Maven却总是出现一些问题,本地库里也总是出现一些.lastUpdated文件,类似于下面这种。
一开始以为是网络的原因,并没有很重视。直至昨晚,pom再次飘红,研究了一下,才发现问题的根源所在。
通过查阅资料得知:阿里云的Maven镜像已经做了https升级和仓库细化,以前的配置方式已失效!
原来的镜像配置:
<mirror><id>nexus-aliyun</id><mirrorOf>central</mirrorOf><name>Nexus aliyun</name><url>/nexus/content/groups/public</url></mirror>
更新后的配置为:
<mirror><id>aliyunmaven</id><mirrorOf>*</mirrorOf><name>阿里云公共仓库</name><url>/repository/public</url></mirror>
此外,由于使用了https,存在着SSL证书验证的问题。所以,在修改完maven的settings文件之后,还需要在IDEA的File->Setting中进行配置,设置忽略SSL证书的验证。(ps:上午试着添加阿里maven仓库https证书,搞了半天也不好使,最终选择了设置忽略SSL验证。添加俩小时,忽略两分钟。简单粗暴!哈哈…)
1. 解决依赖无法下载
IDEA中更改设置:
-Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true
2. 解决maven无法compile
-Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true -Dmaven.wagon.http.ssl.ignore.validity.dates=true
至此,理论上来讲,maven就又可以丝滑地使用了。
如果还是不行,可以参考这一篇博客,他的方法二提供了另外一种思路:Idea通过Maven构建springboot项目时失败
另附一份maven的settings文件配置信息,供交流学习讨论。(基于apache-maven-3.5.4版本的)
<?xml version="1.0" encoding="UTF-8"?><settings xmlns="/SETTINGS/1.0.0"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/SETTINGS/1.0.0 /xsd/settings-1.0.0.xsd"><localRepository>D:\Program Files\RepMaven</localRepository><pluginGroups></pluginGroups><proxies></proxies><servers></servers><mirrors><!-- 阿里云Maven镜像仓库 该仓库目前存在于北京市大兴区 --><!--<mirror><id>alimaven</id><name>aliyun maven</name><url>/nexus/content/groups/public/</url><mirrorOf>central</mirrorOf></mirror>--><mirror><id>aliyunmaven</id><mirrorOf>*</mirrorOf><name>Nexus aliyun</name><url>/repository/public</url></mirror><!-- CN国内Maven镜像仓库 该仓库目前存在于浙江省杭州市 --><mirror><id>net-cn</id><mirrorOf>central</mirrorOf><name>Human Readable Name for this Mirror.</name><url>/content/groups/public/</url></mirror><!-- 网易163Maven镜像仓库 该仓库目前存在于广东省广州市 --><mirror><id>nexus-163</id><mirrorOf>*</mirrorOf><name>Nexus 163</name><url>/maven/repository/maven-public/</url></mirror><!-- ibiblio地址是美国的,但是用起来感觉还是比较快的,而且还不用X墙的,非常nice --><mirror><id>ibiblio</id><name>Mirror from Maven ibiblio</name><url>/pub/mirrors/maven2/</url><mirrorOf>central</mirrorOf></mirror></mirrors><profiles><profile><id>jdk-1.8</id><activation><activeByDefault>true</activeByDefault><jdk>1.8</jdk></activation><properties><piler.source>1.8</piler.source><piler.target>1.8</piler.target><pilerVersion>1.8</pilerVersion></properties><!-- dubbo 官方的解决方案 --><repositories><repository><id>sonatype-nexus-snapshots</id><url>/content/repositories/snapshots</url><releases><enabled>false</enabled></releases><snapshots><enabled>true</enabled></snapshots></repository></repositories></profile></profiles></settings>