Eclipse启动错误

时间:2011-06-14 12:19:39

标签: java eclipse maven nexus

今天当我开始使用eclipse时,我收到以下错误消息:

在“更新索引”期间发生内部错误。 Java堆空间

当我检查日志时,会出现以下异常:

!ENTRY org.eclipse.core.jobs 4 2 2011-06-14 13:44:26.546
!MESSAGE An internal error occurred during: "Updating indexes".
!STACK 0
java.lang.OutOfMemoryError: Java heap space
at org.sonatype.nexus.index.updater.IndexDataReader.readUTF(IndexDataReader.java:132)
at org.sonatype.nexus.index.updater.IndexDataReader.readField(IndexDataReader.java:122)
at org.sonatype.nexus.index.updater.IndexDataReader.readDocument(IndexDataReader.java:96)
at org.sonatype.nexus.index.updater.IndexDataReader.readIndex(IndexDataReader.java:63)
at org.sonatype.nexus.index.updater.DefaultIndexUpdater.unpackIndexData(DefaultIndexUpdater.java:564)
at org.sonatype.nexus.index.updater.DefaultIndexUpdater.loadIndexDirectory(DefaultIndexUpdater.java:252)
at org.sonatype.nexus.index.updater.DefaultIndexUpdater.access$300(DefaultIndexUpdater.java:74)
at org.sonatype.nexus.index.updater.DefaultIndexUpdater$LuceneIndexAdaptor.setIndexFile(DefaultIndexUpdater.java:815)
at org.sonatype.nexus.index.updater.DefaultIndexUpdater.fetchAndUpdateIndex(DefaultIndexUpdater.java:995)
at org.sonatype.nexus.index.updater.DefaultIndexUpdater.fetchAndUpdateIndex(DefaultIndexUpdater.java:159)
at org.maven.ide.eclipse.internal.index.NexusIndexManager.updateRemoteIndex(NexusIndexManager.java:1085)
at org.maven.ide.eclipse.internal.index.NexusIndexManager.updateIndex(NexusIndexManager.java:1025)
at org.maven.ide.eclipse.internal.index.NexusIndexManager$1.run(NexusIndexManager.java:632)
at org.maven.ide.eclipse.internal.index.IndexUpdaterJob.run(IndexUpdaterJob.java:71)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
!SESSION 2011-06-14 13:46:30.734 -----------------------------------------------
eclipse.buildId=M20100909-0800
java.version=1.6.0_23
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_GB
Framework arguments:  -product org.eclipse.epp.package.jee.product
Command-line arguments:  -os win32 -ws win32 -arch x86 -product org.eclipse.epp.package.jee.product

我尝试了以下但没有成功:

  • 在eclipse中增加.ini文件中的内存:

    -Xms128m
    -Xmx512m
    -XX:MaxPermSize=256m
    
  • 创建环境变量“MAVEN_OPTS:-Xmx256m”

  • 删除〜/ .cache / m2e directoy

有没有人有其他想法?

7 个答案:

答案 0 :(得分:37)

此问题是由Eclipse的m2e插件的旧版本引起的。

较新版本不再自动传输远程索引,因此首先推荐的解决方案是升级到m2e的最新版本。如果无法做到,请按照以下说明操作。


此问题是由M2Eclipse插件从Nexus(或兼容)存储库传输远程索引引起的。

  1. 断开网络连接;
  2. 启动Eclipse。
  3. 取消选中偏好Maven -> Download repository index updates on startup
  4. 您现在可以重新连接到网络,并应重新启动Eclipse以验证这确实解决了问题。

答案 1 :(得分:4)

如果您最近遇到此错误,可能是由于Luna(eclipse 4.4.0)和m2e(1.4.1)的问题。解决方案是卸载m2e 1.4.1并在Help - > Install new Software - > All Available Sites下安装m2e 1.5.0。 Official eclipse bug report.

答案 2 :(得分:3)

还有其他m2e缓存目录吗?有关此问题的一些错误报告建议删除~/.m2/repository/.cache/m2e。一般来说,对我来说,这似乎是一个maven / nexus问题(也许是m2e)。

答案 3 :(得分:2)

尝试将.ini文件中的内存增加到:

Xms256m Xmx768m

答案 4 :(得分:1)

保留已建议的更大内存。

尝试使用“clean”参数从命令行开始。

eclipse.exe -clean

从命令行,您还可以使用-data参数指定要打开的工作空间。也许从另一个小型工作空间开始,直到你的IDE重新站起来。

答案 5 :(得分:0)

您可以增加记忆力并尝试使用-Xmx1024m

答案 6 :(得分:0)

尝试更多内存:)

-Xms512m
-Xmx1024m
-XX:PermSize=256M
-XX:MaxPermSize=512M