问题与处理策略
问题描述
- IDEA 中打开一个 Java 项目,使用 Maven 构建时,报如下错误
org.dom4j:dom4j:pom:2.1.3 failed to transfer from https://repo.maven.apache.org/maven2 during a previous attempt.
This failure was cached in the local repository and resolution is not reattempted until the update interval of central has elapsed or updates are forced.
Original error: Could not transfer artifact org.dom4j:dom4j:pom:2.1.3 from/to central (https://repo.maven.apache.org/maven2):
transfer failed for https://repo.maven.apache.org/maven2/org/dom4j/dom4j/2.1.3/dom4j-2.1.3.pomTry to run Maven import with -U flag (force update snapshots)
# 翻译org.dom4j:dom4j:pom:2.1.3 在之前的尝试中未能从 https://repo.maven.apache.org/maven2 下载
此次失败已被缓存到本地仓库中,在中央仓库的更新间隔到期或强制更新之前,不会重新尝试下载
原始错误:无法从中央仓库(https://repo.maven.apache.org/maven2)下载 org.dom4j:dom4j:pom:2.1.3:
下载失败,URL:https://repo.maven.apache.org/maven2/org/dom4j/dom4j/2.1.3/dom4j-2.1.3.pom尝试使用 -U 参数运行 Maven 导入(强制更新快照依赖)
问题原因
-
Maven 可能是由于网络连接问题无法从中央仓库下载依赖
-
Maven 将下载失败的记录缓存到了本地仓库中,导致后续构建时不会重试下载
处理策略
(1)强制更新依赖
-
点击
Try to run Maven import with -U flag (force update snapshots)
,强制更新依赖 -
这样会强制 Maven 检查远程仓库的更新,即使本地仓库中已经缓存了失败的记录
(2)使用镜像仓库
- 如果由于网络连接问题导致 Maven 中央仓库访问不稳定,可以在
settings.xml
文件中添加镜像仓库
<mirrors><mirror><id>aliyunmaven</id><mirrorOf>central</mirrorOf><url>https://maven.aliyun.com/repository/public</url></mirror>
</mirrors>
(3)手动下载依赖
-
访问目标依赖的下载地址(例如,
https://repo.maven.apache.org/maven2/org/dom4j/dom4j/2.1.3/
) -
下载目标依赖(例如,
dom4j-2.1.3.pom
、dom4j-2.1.3.jar
) -
将下载的目标依赖放入 Maven 本地仓库的对应目录(例如,
org/dom4j/dom4j/2.1.3
)