根本原因是Maven中央仓库国内访问不稳定,需在settings.xml中将镜像id和mirrorOf均设为central,并使用HTTPS阿里云地址:https://maven.aliyun.com/repository/public。

为什么 mvn clean install 总卡在下载依赖上
根本原因通常是 Maven 默认的中央仓库(https://repo.maven.apache.org/maven2/)在国内访问不稳定,或本地 settings.xml 未配置镜像,导致连接超时、重试失败,甚至返回 501 错误。不是项目写错了,也不是 JDK 版本问题,而是网络通道不通。
常见现象包括:Could not transfer artifact、Connection timed out、Failed to read artifact descriptor,日志里反复出现 Downloading from central: 但始终没进度。
- 检查是否真连上了:在终端执行
curl -I https://maven.aliyun.com/repository/public,能返回200 OK才算通 - 确认用的是哪个
settings.xml:运行mvn help:effective-settings,看输出里的Effective settings路径,别改了用户目录下的却用了 Maven 自带的 - 镜像
必须是central,否则 Maven 不会自动路由——很多教程写成aliyun或maven-aliyun,实际无效
如何正确配置阿里云镜像(Maven 3.8.1+ 专用写法)
Maven 3.8.1 起默认禁用 HTTP 协议,且要求镜像 精确匹配。阿里云 HTTPS 地址已全量启用,但旧配置容易漏掉关键细节。
在 ~/.m2/settings.xml 的 块内添加:
立即学习“Java免费学习笔记(深入)”;
central central Aliyun Central https://maven.aliyun.com/repository/public
-
和都必须是central,这是 Maven 内部约定,不是随便起名 - 不要加
,新版已废弃,加了反而报错default - 如果公司有 Nexus 私服,把
改成external:*,避免镜像覆盖私有仓库
依赖下载失败但提示 “Already downloaded” 是怎么回事
这是 Maven 的元数据校验机制在作怪:_remote.repositories 文件记录了该 JAR 来源仓库 ID,如果之前用过其他镜像(比如早期配置过 ui 镜像),现在换回 central,Maven 会拒绝复用旧文件,坚持重新下载——即使文件明明存在。
- 定位问题路径:进入
~/.m2/repository/,看是否存在/ / / 和同名- .jar .jar.lastUpdated - 安全清理方式:删掉整个
目录,或只删.lastUpdated和_remote.repositories,再重跑mvn compile - 不建议全局清空
~/.m2/repository:大项目依赖多,重下耗时,精准删除更稳
IDEA 里 Maven 报错但命令行正常?检查这三点
IntelliJ 默认用自己的 Maven 实例和独立的 settings.xml 路径,跟终端不是一套环境。
- 打开
File → Settings → Build → Build Tools → Maven,确认User settings file指向你刚改好的~/.m2/settings.xml,不是 IDEA 自带的空白文件 - 检查
Maven home path是否指向你本地安装的 Maven(如/opt/homebrew/Cellar/maven/3.9.6),而非 IDEA bundled 版本 - 点开
Importing选项卡,勾选Always update snapshots,避免 IDEA 缓存过期的 SNAPSHOT 元数据
改完设置后必须点 Reload project(右键项目 → Reload project),仅重启 IDEA 不生效。










