升级Spring Boot到2.4.9.RELEASE时找不到依赖构建失败如何解决
解决方案
1. 检查仓库配置优先级
- 确认构建配置中已正确添加Maven中央仓库,且优先级高于其他私有仓库、内网镜像源,避免被同步不及时的镜像源拦截。
- Gradle项目需检查
build.gradle或settings.gradle的repositories块配置,示例如下:
repositories { // 中央仓库放在最前面保证优先级最高 mavenCentral() // 其余私有仓库、镜像源放在下方 maven { url 'https://你的私有仓库地址' } }
- Maven项目需检查全局
settings.xml或项目pom.xml的镜像配置,避免配置了拦截所有仓库的全局镜像,导致请求无法到达Maven中央仓库。
2. 修正Spring Boot依赖声明格式
报错中是直接将spring-boot-starter-parent作为普通依赖引入,该坐标本身是Maven父POM,需按构建工具规范声明:
Gradle项目正确配置(二选一即可)
- 用Spring Boot插件引入:
plugins { id 'org.springframework.boot' version '2.4.9.RELEASE' id 'io.spring.dependency-management' version '1.0.11.RELEASE' id 'java' }
- 导入Spring Boot BOM做依赖管理:
dependencyManagement { imports { mavenBom "org.springframework.boot:spring-boot-dependencies:2.4.9.RELEASE" } }
Maven项目正确配置
在pom.xml开头添加父POM声明即可:
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.4.9.RELEASE</version> <relativePath/> </parent>
3. 清除缓存强制刷新依赖
- Gradle项目执行命令:
./gradlew clean build --refresh-dependencies - Maven项目执行命令:
mvn clean install -U
如果是CI环境构建报错,可直接在构建命令中添加上述强制刷新参数,避免CI缓存的旧依赖索引影响拉取。
4. 检查网络连通性
确认构建机器可正常访问Maven中央仓库,没有被防火墙、代理拦截。有代理要求的环境需在Gradle/Maven的配置文件中正确配置代理参数。
内容的提问来源于stack exchange,提问作者Dolphin
相关产品推荐
相关产品推荐

