Maven导入依赖时的SSL证书校验问题PKIX path building failed
问题 :Could not transfer artifact org.apache.axis:axis:pom:1.4 from/to aliyun (http://maven.aliyun.com/nexus/content/groups/public/): PKIX path building failed: sun.security.provider.certpath.SunCertPat
问题 :
Could not transfer artifact org.apache.axis:axis:pom:1.4 from/to aliyun (http://maven.aliyun.com/nexus/content/groups/public/): PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
解决 : (优先使用方式三)
方式一 : 运行某java工具类生成对应站点的证书,将生成的证书导入到%JAVA_HOME%\lib\security\cacerts目录下;
- 用谷歌浏览器访问 https://maven.aliyun.com/nexus/content/groups/public/
- 点击链接前面的小锁,然后点击如箭头所指的证书
- 先点击详细信息,再点击复制到文件
- 默认,点击下一步
- 把证书添加到 Java 信任证书库
把刚才下载的 ali.cer 证书放在{java安装根目录}jrelibsecurity目录下
在该目录下打开cmd命令行, 运行命令 : keytool -import -alias cacerts -keystore cacerts -file ali.cer
输入默认密码:changeit,这是 Java 中 cacerts 证书库的默认密码
输入 Y,信任此证书,至此,证书导入完成
若提示 keytool 错误,大可不必操心,只管往下进行即可 - 重新导入依赖
右键项目 → Maven → Reimport
方式二 : 在浏览器中访问https://maven.aliyun.com并导出证书,并将证书导入到%JAVA_HOME%\lib\security\cacerts目录下,并做证书信任。
方式三 : mvn命令执行时忽略证书检查
- 在Idea的File -->settings中,设置Maven的importing和Runner参数,忽略证书检查即可。(Eclipse下解决原理类似,设置maven运行时参数即可)
- 具体参数:
-Dmaven.multiModuleProjectDirectory=$MAVEN_HOME -Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true -Dmaven.wagon.http.ssl.ignore.validity.dates=true
2. 删除之前下载失败时的**.lastUpdate**文件
在maven本地库中打开cmd命令行, 输入并执行 : for /r %i in (*.lastUpdated) do del %i
3. 重新导入依赖
右键项目 → Maven → Reimport
————————————————
参考文章:https://blog.csdn.net/qq_22041375/article/details/103491941
https://my.oschina.net/ghw/blog/3236131
更多推荐
所有评论(0)