问题 :

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

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐