获取'在以下期间发生内部错误:“压缩资源模型”。在eclipse indigo中构建项目时

时间:2012-03-07 14:50:04

标签: eclipse eclipse-indigo

在eclipse indigo中构建项目时出现以下错误:

 An internal error occurred during: "Compacting resource model". Java heap.
  1. 这是内存问题吗?

  2. 是否可以在eclipse中编译单个包(类似于netbeans)?我在netbeans中遇到了类似的内存问题但我通过一次编译少量的软件包来解决它。

  3. 我在ganemede编译了同样的项目没有任何问题。

    更新

    堆栈跟踪:

     !ENTRY org.eclipse.core.jobs 4 2 2012-03-07 09:39:49.520
     !MESSAGE An internal error occurred during: "Compacting resource model".
     !STACK 0
     java.lang.OutOfMemoryError: Java heap space
    at java.util.HashMap.newKeyIterator(Unknown Source)
    at java.util.HashMap$KeySet.iterator(Unknown Source)
    at java.util.HashSet.iterator(Unknown Source)
    at org.eclipse.core.internal.jobs.JobManager.findBlockingJob(JobManager.java:685)
    at org.eclipse.core.internal.jobs.JobManager.doRunNow(JobManager.java:1085)
    at org.eclipse.core.internal.jobs.JobManager.runNow(JobManager.java:1080)
    at org.eclipse.core.internal.jobs.ImplicitJobs.begin(ImplicitJobs.java:89)
    at org.eclipse.core.internal.jobs.JobManager.beginRule(JobManager.java:286)
    at org.eclipse.core.internal.utils.StringPoolJob.run(StringPoolJob.java:101)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
    
     !ENTRY org.eclipse.core.jobs 4 2 2012-03-07 09:39:49.521
     !MESSAGE An internal error occurred during: "Build Project".
     !STACK 0
    java.lang.OutOfMemoryError: Java heap space
    at org.eclipse.wst.jsdt.core.compiler.CharOperation.concat(CharOperation.java:689)
    at org.eclipse.wst.jsdt.core.infer.InferEngine.createAnonymousTypeName(InferEngine.java:682)
    at org.eclipse.wst.jsdt.core.infer.InferEngine.createAnonymousType(InferEngine.java:658)
    at org.eclipse.wst.jsdt.core.infer.InferEngine.visit(InferEngine.java:2072)
    at org.eclipse.wst.jsdt.internal.compiler.DelegateASTVisitor.visit(DelegateASTVisitor.java:855)
    at org.eclipse.wst.jsdt.internal.compiler.ast.ObjectLiteral.traverse(ObjectLiteral.java:66)
    at org.eclipse.wst.jsdt.internal.compiler.ast.MessageSend.traverse(MessageSend.java:459)
    at org.eclipse.wst.jsdt.internal.compiler.ast.MethodDeclaration.traverse(MethodDeclaration.java:174)
    at org.eclipse.wst.jsdt.internal.compiler.ast.FunctionExpression.traverse(FunctionExpression.java:48)
    at org.eclipse.wst.jsdt.internal.compiler.ast.ObjectLiteralField.traverse(ObjectLiteralField.java:63)
    at org.eclipse.wst.jsdt.internal.compiler.ast.ObjectLiteral.traverse(ObjectLiteral.java:69)
    at org.eclipse.wst.jsdt.internal.compiler.ast.ObjectLiteralField.traverse(ObjectLiteralField.java:63)
    at org.eclipse.wst.jsdt.internal.compiler.ast.ObjectLiteral.traverse(ObjectLiteral.java:69)
    at org.eclipse.wst.jsdt.internal.compiler.ast.MessageSend.traverse(MessageSend.java:459)
    at org.eclipse.wst.jsdt.internal.compiler.ast.MethodDeclaration.traverse(MethodDeclaration.java:174)
    at org.eclipse.wst.jsdt.internal.compiler.ast.FunctionExpression.traverse(FunctionExpression.java:48)
    at org.eclipse.wst.jsdt.internal.compiler.ast.MessageSend.traverse(MessageSend.java:455)
    at org.eclipse.wst.jsdt.internal.compiler.ast.CompilationUnitDeclaration.traverse(CompilationUnitDeclaration.java:584)
    at org.eclipse.wst.jsdt.internal.compiler.ast.CompilationUnitDeclaration.traverse(CompilationUnitDeclaration.java:539)
    at org.eclipse.wst.jsdt.core.infer.InferEngine.doInfer(InferEngine.java:1747)
    at org.eclipse.wst.jsdt.internal.compiler.parser.Parser.inferTypes(Parser.java:7093)
    at org.eclipse.wst.jsdt.internal.compiler.Compiler.internalBeginToCompile(Compiler.java:561)
    at org.eclipse.wst.jsdt.internal.compiler.Compiler.beginToCompile(Compiler.java:328)
    at org.eclipse.wst.jsdt.internal.compiler.Compiler.compile(Compiler.java:342)
    at org.eclipse.wst.jsdt.internal.core.builder.AbstractImageBuilder.compile(AbstractImageBuilder.java:288)
    at org.eclipse.wst.jsdt.internal.core.builder.BatchImageBuilder.compile(BatchImageBuilder.java:86)
    at org.eclipse.wst.jsdt.internal.core.builder.AbstractImageBuilder.compile(AbstractImageBuilder.java:254)
    at org.eclipse.wst.jsdt.internal.core.builder.BatchImageBuilder.build(BatchImageBuilder.java:58)
    at org.eclipse.wst.jsdt.internal.core.builder.JavaBuilder.buildAll(JavaBuilder.java:291)
    at org.eclipse.wst.jsdt.internal.core.builder.JavaBuilder.build(JavaBuilder.java:194)
    at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:728)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    

3 个答案:

答案 0 :(得分:1)

从eclipse目录中打开eclipse配置(eclipse.ini)文件夹

-vmargs -Xms128m -Xmx512m -XX:MaxPermSize参数=128米

放置此代码......它的工作对我来说

答案 1 :(得分:0)

我将-Xmx增加了1GB,从3增加到4(-Xmx4120m),我仍然让Eclipse做了一些洗衣(从我的操作系统中取出了4.5 GB),但至少我能够工作(编辑)并保存文件)。以前,有3GB,我不能 - Eclipse变白了。 另外 - 我关闭了3个我没有使用的项目。

答案 2 :(得分:0)

您需要更多的堆 (RAM)。

-Xmxeclipse.ini 文件中(对于我在 Linux Ubuntu 上,它在这里:"/home/my_username/eclipse/cpp-2019-12/eclipse/ eclipse.ini") 指定您授权 Eclipse 使用的最大堆空间 (RAM)。给它更多。如果 -Xmx512m (512 MB) 的 RAM 不够用,请尝试更多:-Xmx1024m-Xmx2048m 等,直到足够并且您不再崩溃为止。

我在我的 Eclipse 文档中谈到了这个:

  1. 带有 PDF 或 Google Drive 格式链接的自述文件:https://github.com/ElectricRCAircraftGuy/eRCaGuy_dotfiles/tree/master/eclipse

Eclipse 很强大,但它是一个可怕的可怕的记忆猪。在某些存储库的某些机器上,我将其设置为 -Xmx32768(32 GB--是的--坚果--但尝试让 Eclipse 索引包含 Boost 库的大型存储库,但这仍然不够)。