今天当我开始使用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
有没有人有其他想法?
答案 0 :(得分:37)
此问题是由Eclipse的m2e插件的旧版本引起的。
较新版本不再自动传输远程索引,因此首先推荐的解决方案是升级到m2e的最新版本。如果无法做到,请按照以下说明操作。
此问题是由M2Eclipse插件从Nexus(或兼容)存储库传输远程索引引起的。
Maven -> Download repository index updates on startup
。您现在可以重新连接到网络,并应重新启动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