idea 使用阿里云仓库下载的jar包出现证书校验问题(PKIX:unable to find valid certification path to requested target)
1.情景展示
从阿里云仓库下载下来的jar包,在执行编译compile或者打包package时,报错:无效证书问题
sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
2.原因分析
这种情况,可能是由于阿里云仓库在今年改了仓库地址,加上了https
idea在使用该地址时也就自动进行证书校验,而我们本地根本不可能会去存阿里云仓库的证书,所以导致jar包下载失败,或者jar包在运行时下载其所依赖的其它jar包时导致下载失败,进而无法继续进行编译
但,我尽管用的是http://maven.aliyun.com/nexus/content/groups/public,没有带https,尽管这样也逃不过证书校验的魔爪。
3.解决方案
把idea的证书校验去掉,即:忽略SSL证书检查
第一步:下载jar包忽略证书问题
按以上路径找到Importing,在Maven命令后加入参数:
-Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true
这样,就解决从阿里云仓库jar包下载不下来的问题了。
第二步:编译时忽略证书问题
配置虚拟机运行参数:
-Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true -Dmaven.wagon.http.ssl.ignore.validity.dates=true
这样,从阿里云仓库下载下来的jar包在运行时,就不会再报证书问题啦。