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


73

我在Eclipse工作区中有一个Maven项目。当我启动Eclipse时,需要很长时间才能更新Maven依赖项。实际上,它似乎永远不会完成,并且在执行此更新时,我无法在Eclipse中执行任何操作。

有谁能够帮助我?


3
您要删除本地Maven存储库吗?(.m2 /存储库)通常Eclipse更新存储库的索引。...BTW:长是什么意思?分钟?
khmarbaise

3
我没有删除我的Maven存储库。长时间意味着数小时,有几次我不得不在结束过程中退出日食。
汤姆(Tom)

1
是否有可能写入〜/ .m2的速度很慢(例如,也许您的主目录位于网络驱动器上-就像在这里工作)?
schmmd

1
我的矿井花费了几个小时,但直到现在还没有完成,我在做错什么吗?

Answers:


21

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

其次,假设您在局域网上工作,我建议您安装本地的maven存储库管理器(例如Nexus),然后通过设置
<mirrorOf>*</mirrorOf>在$ {user.home} /。m2 / settings.xml中进行设置来。

这样一来,您就可以通过本地镜像快速解决您的下载问题,而无需不断检查互联网上的存储库。


89

如果在月食开始时发生这种情况,则可能不是项目的依赖更新,而是Maven存储库索引更新(如khmarbaise在他的评论中所述)。

您可以在此处禁用此设置首选项Maven启动时下载存储库索引更新

新鲜的索引为您提供了最新的依赖关系列表,例如在“添加依赖关系”对话框中。但是我发现,如果在Maven存储库视图中手动(根据需要)更新索引,它将可以进行操作。

更新:从Eclipse Luna开始,默认情况下已禁用索引更新(请参见Bug404417)。


4

甚至我都面临着更新有关Eclipse启动和Eclipse挂断的Maven依赖关系。我发现我的工作区目录没有必需的权限(完全权限)。在设置这些权限后,我的问题得到解决。


2

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



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>
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.