遇到的问题
最近用 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。
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 进行打包,强行下载依赖。
可以看到依赖正在下载,大功告成!
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于