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.SunCertPathBuilderException: unable to find valid certification path to requested target
在这里插入图片描述

解决 : (优先使用方式三)

方式一 : 运行某java工具类生成对应站点的证书,将生成的证书导入到%JAVA_HOME%\lib\security\cacerts目录下;

  1. 用谷歌浏览器访问 https://maven.aliyun.com/nexus/content/groups/public/
  2. 点击链接前面的小锁,然后点击如箭头所指的证书
    在这里插入图片描述
  3. 先点击详细信息,再点击复制到文件
    在这里插入图片描述
  4. 默认,点击下一步
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  5. 把证书添加到 Java 信任证书库
    把刚才下载的 ali.cer 证书放在{java安装根目录}jrelibsecurity目录下
    在这里插入图片描述
    在该目录下打开cmd命令行, 运行命令 : keytool -import -alias cacerts -keystore cacerts -file ali.cer
    在这里插入图片描述
    输入默认密码:changeit,这是 Java 中 cacerts 证书库的默认密码
    在这里插入图片描述
    输入 Y,信任此证书,至此,证书导入完成
    在这里插入图片描述
    若提示 keytool 错误,大可不必操心,只管往下进行即可
  6. 重新导入依赖
    右键项目 → Maven → Reimport

方式二 : 在浏览器中访问https://maven.aliyun.com并导出证书,并将证书导入到%JAVA_HOME%\lib\security\cacerts目录下,并做证书信任。

方式三 : mvn命令执行时忽略证书检查

  1. 在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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值