创建SpringBoot项目出现的问题(Could not transfer artifact :spring-boot-starter-parent)

时间:2025-04-02 09:33:37

创建SpringBoot项目出现的问题(Could not transfer artifact :spring-boot-starter-parent)
前言:之前创建SpringBoot项目也出现过此问题,但是换了一个maven仓库好使了,但是没过多久那个仓库访问不了了,然后项目就开始报错。这几天自己创建项目又出现了这个问题,感觉再不彻底解决,人都不好了。

一、问题描述
通过Spring Initializer创建SpringBoot项目,发现出现了问题,我首先检查的是maven的settings的配置文件,发现其中配置的是阿里云的仓库,配置是没有问题的,但是包还是导入不进去,reimport也没有效果。执行clean命令显示的是如下的错误:

    Could not transfer artifact :spring-boot-starter-parent:pom:2.2. from/to nexus-aliyun (/nexus/content/groups/public): : PKIX path building failed: : unable to find valid certification path to requested target
  • 1

有图有真相:

二、查找问题原因
进入报错的网站查找springbootRELEASE2.2.0的(/repository/central)

显而易见,是有这个包的。后来换了其他的版本,还是这个德性,由此可见并不是版本的问题。

然后针对报错信息的后半部分进行研究,找到问题的解决方法。

后半部分报错信息:

    : unable to find valid certification path to requested target(无法找到有效的证书)
  • 1

意思就是服务器提供的证书不被我们客户端信任。

三、解决方法(两种方法)
第一种方法:在执行maven命令时忽略证书检查
在此处设置忽略证书检查

忽略证书检查的命令:

-=true -=true -=true
亲测好使:

第二种方法:手动导入证书,即将安全证书导入到java的cacerts证书库
确保maven中中的阿里源配置正确

nexus-aliyun central Nexus aliyun /nexus/content/groups/public 打开阿里源的网址:/nexus/content/groups/public或/repository/central(都是一样的)

chrome浏览器下载证书到本地

根据以下步骤,一直next,将文件命名为ali_maven,后缀默认为.cer,保存到D盘根目录

设置导出证书的编码格式:

通过证书添加java信任证书库

(1)打开C:\Program Files\Java\jdk1.8.0_121\jre\lib\security目录。(cacerts包含了很多CA证书,位置在Java的安装目录:如: C:\Program Files\Java\jdk1.8.0_121\jre\lib\security\carcerts)

(2)在该目录下以管理员身份打开命令提示符(cmd)

(3)输入该命令:keytool -import -alias cacerts -keystore cacerts -file d:\ali_maven.cer

(4)输入默认的密钥库口令:changeit

(5)是否信任此证书?[否]:Y

(6)显示证书已添加到密钥库中即表示添加成功

(7)回到项目中重新clean,complie,解决问题。

四、总结
第一种方法感觉治标不治本,只是针对当前的项目来说是可以的,但是每次创建项目加那个配置比较麻烦,对比第二种方法包导入的速度比较慢,而且下次再创建项目也不需要再做配置。建议使用第二种方法,问题解决的十分彻底。
————————————————
版权声明:本文为****博主「一点江南」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:/weimenglala/article/details/104800011