[图片] 遇到的问题 最近用 IDEA 打开了一个很久之前做的项目,发现需要重新导入 Maven 依赖,在依赖导入的时候报错如下: could not transfer artifact org.springframework.boot:spring-boot-starter-parent:pom:2.0.4.RELE ..

Maven 下载依赖时遇到证书问题

遇到的问题

最近用 IDEA 打开了一个很久之前做的项目,发现需要重新导入 Maven 依赖,在依赖导入的时候报错如下:

could not transfer artifact org.springframework.boot:spring-boot-starter-parent:pom:2.0.4.RELEASE from/to nexus-aliyun (https://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 库中没有找到 https://maven.aliyun.com/ 的证书。下面是我的 Maven 使用的阿里云的镜像库。

        <mirror>
            <id>nexus-aliyun</id>
            <mirrorOf>central</mirrorOf>
            <name>Nexus aliyun</name>
            <url>http://maven.aliyun.com/nexus/content/groups/public</url>
        </mirror>

解决方案

更换为 https 的阿里云镜像库

        <mirror>
            <id>nexus-aliyun</id>
            <mirrorOf>central</mirrorOf>
            <name>Nexus aliyun</name>
            <url>http://maven.aliyun.com/nexus/content/groups/public</url>
        </mirror>

下载安装阿里云的证书

用谷歌浏览器访问 https://maven.aliyun.com/nexus/content/groups/public/
1、点击链接左边的小锁,然后点击证书。

2、点击详细信息,再点击复制证书,之后就连续点击下一步,最后选择自己电脑的一个文件夹存放下载的证书,这里我下载到了 d 盘,文件命名为 ali。

image.png

3、把证书添加到 Java 信任证书库

使用管理员权限打开 cmd,切换到:{java安装根目录}\jre\lib\security,把刚才下载的 ali.cer 证书放在{java安装根目录}\jre\lib\security目录下。运行命令keytool -import -alias cacerts -keystore cacerts -file ali.cer

输入默认密码:changeit,这是 Java 中 cacerts 证书库的默认密码。

输入 Y,信任此证书,至此,证书导入完成。

4、重新使用 idea 下载 Maven 依赖

点击 package 进行打包,强行下载依赖。

可以看到依赖正在下载,大功告成!

  • Maven

    Maven 是基于项目对象模型(POM)、通过一小段描述信息来管理项目的构建、报告和文档的软件项目管理工具。

    150 引用 • 313 回帖 • 666 关注
  • 一些有用的避坑指南。

    36 引用 • 57 回帖
回帖
请输入回帖内容...