先检查pom.xml中依赖坐标是否正确,再执行mvn compile等命令触发下载,确认settings.xml镜像配置无误,快照版本用-u强制更新,优先根据错误日志定位问题。
依赖没下载成功,先看 pom.xml 里写对了没
很多情况下“下载不了”根本不是网络或仓库问题,而是 dependency 声明本身有误。常见错误包括:
— groupId、artifactId 拼错(比如把 slf4j-api 写成 slf4j-apii)
— version 用的不是中央仓库真实存在的版本(例如写 2.0.0 但最新只有 2.0.13)
— 缺少 scope 导致被意外排除(如测试依赖漏写 test)
— 使用了私有坐标但没配对应 repository
执行 mvn clean compile 才真正触发下载
Maven 不会在你保存 pom.xml 后自动拉取依赖,必须运行带生命周期阶段的命令:
— mvn compile:编译主代码,同时解析并下载运行时和编译期依赖
— mvn test:额外下载 test scope 的依赖
— mvn dependency:resolve:只解析依赖树,不编译,适合快速验证是否可解析
注意:mvn clean 单独运行不会触发下载,它只是删掉 target/
下载失败时检查 settings.xml 和镜像配置
国内用户最常卡在这一步。Maven 默认走 Maven Central(https://repo.maven.apache.org),但实际可能被重定向到阿里云、腾讯云等镜像:
— 确认 ~/.m2/settings.xml 中 <mirrors></mirrors> 是否启用且配置正确(比如 mirrorOf 值为 central 或 *)
— 如果用的是公司 Nexus/Artifactory,要确保 <repositories></repositories> 里声明了该仓库,并设置了 id 和认证信息(必要时在 <servers></servers> 配 username/password)
— 错误提示含 Could not transfer artifact ... from/to central,基本说明仓库连通性或权限有问题