把IDEA更新到2019.3版本后,本来是一件高兴的事,但是却遇到了一个问题,也就是文章题目中的问题,这个问题卡了我将近一个星期。。。最终解决了,记录一下。
首先看一下是什么问题,也就是在pom.xml中添加一些依赖,比如我添加一个spring或mybatis依赖:
<dependencies>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.3</version>
</dependency>
</dependencies>
但是maven死活下载不了jar包,IDEA报如下错:
具体错误信息为:
Could not transfer artifact org.mybatis:mybatis:pom:3.5.3 from/to nexus-aliyun (http://maven.aliyun.com/nexus/content/groups/public): sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
大概意思是证书不合法,这个网上有很多解决方式,无非两种:
- 忽略不合法的证书
- 添加合法的证书
第1种,网上的方式是:
这种方式,我试了无效!!!
第2种,说是先进入settings.xml中指定的maven仓库地址,一般都是指定的阿里云,因为快,这里阿里云仓库网上很多,我放上去我目前用的,截止到2020年2月12日,都是可用的:
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*,!jeecg,!jeecg-snapshots</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
第二种方式,其实就是通过下载浏览器的证书,并添加到jre中,但这种方法我也试了,也不行!!,这里贴上一个教程链接:彻底解决unable to find valid certification path to requested target
最终我的解决方法其实还是第1种,也就是忽略的方式,只是添加的地方不对,附图:
要添加的信息:
-Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true
添加好之后,点击apply,然后回到主界面,点击图中所示:
点了之后,可能还是不起作用,记得要去本地仓库中,把图中的lastUpdated结尾的文件删掉!:
这时候便可以正常下载jar包,大功告成!
然后再把去掉的dependency重新添加上去,再点一下刷新即可: