为什么Eclipse需要这么长时间才能更新Maven依赖项?

时间:2011-02-16 04:35:31

标签: eclipse maven

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

有人能帮助我吗?

7 个答案:

答案 0 :(得分:84)

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

您可以在此处禁用此功能:偏好设置 Maven 启动时下载存储库索引更新

新索引为您提供最新的依赖关系列表,例如在添加依赖关系对话框中。但我发现,如果在 Maven存储库视图中手动更新索引(根据需要),它会发生。

更新:自Eclipse Luna以来,默认情况下已禁用索引更新(请参阅Bug404417)。

答案 1 :(得分:19)

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

其次,假设您正在使用LAN,我建议您安装本地maven存储库管理器,例如Nexus,然后通过设置来重定向工件请求 $ {user.home} /。m2 / settings.xml

中的<mirrorOf>*</mirrorOf>

这样可以快速解决本地镜像下的下载问题,而不是不断检查互联网上的存储库。

答案 2 :(得分:2)

即使我面临更新eclipse启动和eclipse挂断的maven依赖关系。 我发现我的工作区目录没有必要的权限(完全权限)。我设置了这些权限后,我的问题得到了解决。

答案 3 :(得分:1)

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

答案 4 :(得分:1)

如果使用代理进行连接,请检查您的settings.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>

答案 5 :(得分:1)

我遇到了同样的问题,但我使用的是 sts。我试图用发布版本替换快照版本,甚至我也将 sts 的嵌入式 maven 更改为我安装的系统,但没有找到任何运气。我已将我的 sts 更新到最新版本,而且下载不再需要无限时间

答案 6 :(得分:0)

如果尝试所有其他选项后仍然需要很长时间,请创建一个新的工作区并将您的项目移至新的工作区。