为什么 Eclipse 要花这么长时间来更新 Maven 依赖项?

我在 Eclipse 工作区中有一个 Maven 项目。当我启动 Eclipse 时,更新 Maven 依赖项需要很长时间。实际上,它似乎永远不会完成,而且在进行这个更新时,我无法在 Eclipse 中做任何事情。

有人能帮我吗?

100014 次浏览

您是否将 Eclipse 设置为使用 Maven 的本地副本,而不是内置副本?我发现这样更快。另外,确保 Eclipse 指向配置文件的本地副本。

首先检查所有依赖项,包括依赖项树中的插件和子元素,
尝试将快照版本替换为发行版本,
因为快照版本将始终寻找以后的更新,而
发布版本被认为是稳定的,并且预计不会对相同的版本号进行更新。

其次,假设您正在使用 LAN,我建议您安装一个本地专用存储库管理器,比如 Nexus,然后通过设置
${ user.home }/. m2/setings.xml 中的 <mirrorOf>*</mirrorOf>

这将使您的下载能够根据本地镜像快速解析,而不是持续检查互联网上的存储库。

如果在 Eclipse 启动时发生这种情况,可能不是项目的依赖更新,而是 Maven 存储库索引更新(正如 khmarbaise 在他的评论中提到的)。

你可以在这里禁用: 偏好玛文启动时下载存储库索引更新

一个新的索引为您提供了一个最新的依赖项列表,例如在 添加依赖项对话框中。但是我发现,如果在 Maven 知识库视图中手动(根据需要)更新索引,那么就可以做到这一点。

更新 : 由于 Eclipse Luna 现在默认禁用索引更新(请参见 Bug404417)。

即使是我也面临着更新 Maven 对 Eclipse 启动和 Eclipse 挂起的依赖。 我发现我的工作区目录没有要求的权限(完全权限)。在我设置了那些许可之后,我的问题得到了解决。

如果在尝试了所有其他选项之后仍然需要很长时间,那么创建一个新的工作区并将项目移动到新的工作区。

如果您使用代理进行连接,那么如果您正确设置了用户/密码,请检入 setings.xml (D: apache-maven-3.3.3 conf)。

<proxies>
<proxy>
<id>optional</id>
<active>true</active>
<protocol>http</protocol>
<username>XXXX</username>
<password>XXXX</password>
<host>XXXX</host>
<port>8080</port>
<nonProxyHosts>XXXX</nonProxyHosts>
</proxy>
</proxies>

我也遇到过同样的问题,但是我使用的是 是的。我尝试将快照版本替换为发行版本,甚至还将嵌入式的 st 专家更改为我安装的系统,但没有找到任何好运气。我已经更新了我的最新的和繁荣,它不再需要无限的时间下载