在maven项目中若要导入SpringBoot, 或是创建SpringBoot项目时,父级依赖的spring-boot-starter-parent通常都会出现 Project ‘org.springframework.boot:spring-boot-starter-parent:x.x.x’ not found 或 Could not transfer artifact org.springframework.boot:spring-boot-starter-parent:pom 的错误提示。
问题出现场景
我新建了一个springboot项目, 此时maven的setting配置文件配置的是阿里云的源, 但是突然发现很多包导不进来(但之前并没有出现过这个毛病), 于是reimport,没有效果, 执行clean命令发现报错
Could not transfer artifact org.springframework.boot:spring-boot-starter-parent:pom:2.7.10.RELEASE from/to alimaven (https://maven.aliyun.***/repository/central): PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
接下来, 我将简单介绍一下排查pom.xml导包出错的通用解决方法:
1. 检查基础配置是否有误
- idea的setting配置,maven三处配置
- jdk版本与SpringBoot版本是否匹配
jdk1.8 对应 2.X.X
jdk.17 对应 3.X.X
2. 设置忽略安全校验
若上述配置都没有问题,则可尝试设置忽略安全校验, 方法如下:
1.在settings—maven中按照以下设置,目的:配置完可忽略安全校验
代码:-Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true
此时可以先点击以下你的maven项目clean一下(一次不行, 可以再试一两次, 我就是第二回成了)。这个时候,如果你的配置没问题。控制台应该是可以正常的出现下载的界面了。
注:假如你下面的引入已经显示成功了, 但是依赖还是显示报红,没关系,重启项目即可。