Spring Boot项目pom.xml首行报错maven-compat:3.0下载失败如何解决?
报错原因
你遇到的这个错误有两个核心诱因:
- 项目使用的
spring-boot-starter-parent版本为2.5.8-SNAPSHOT快照版,需要从快照仓库拉取对应依赖,且本地Maven缓存了之前的下载失败记录,默认到期前不会重复尝试拉取 - 国内访问Maven官方中央仓库网络不稳定,导致
org.apache.maven:maven-compat:jar:3.0依赖拉取超时被取消
解决方案
- 清理本地Maven失败缓存
找到本地Maven仓库目录(默认路径为Windows系统
C:\Users\你的用户名\.m2\repository,Mac/Linux系统~/.m2/repository),删除org/apache/maven/maven-compat文件夹,也可以直接在项目根目录执行命令强制更新:mvn clean install -U,参数-U会强制忽略本地缓存的失败记录,重新拉取所有快照依赖。
- 配置国内Maven镜像源
打开Maven安装目录下
conf/settings.xml文件,在<mirrors>节点中添加阿里云公共仓库配置,解决网络问题:
<mirror> <id>aliyunmaven</id> <mirrorOf>*</mirrorOf> <name>阿里云公共仓库</name> <url>https://maven.aliyun.com/repository/public</url> </mirror>
若不想修改全局配置,也可以直接把上述仓库配置添加到当前项目pom.xml的
<repositories>和<pluginRepositories>节点中。
- (可选)替换为稳定版Spring Boot
快照版本稳定性差,无特殊需求的话可以把pom.xml中parent节点的版本号修改为正式稳定版,比如将
<version>2.5.8-SNAPSHOT</version>改为<version>2.5.8</version>,正式版依赖无需拉取快照仓库,拉取成功率和兼容性更高。
- 刷新IDE Maven依赖
如果你使用IDEA/Eclipse等IDE开发,右键项目找到Maven相关选项,点击刷新依赖/Reload Project,等待依赖拉取完成即可解决报错。
内容的提问来源于stack exchange,提问作者Juhi Bansinghani
相关产品推荐
相关产品推荐

