IntelliJ12 IDE 出现 OutOfMemoryError 错误

3
我已经在IntelliJ12中将堆大小设置为2096。
Settings -> Compiler -> Java Compiler -> Maximum heap size (MB).

但是,当我尝试编译简单的Java类时,仍然会出现“错误:java:java.lang.OutOfMemoryError:Java堆空间”的错误。在使用IntelliJ 11时,它可以很好地编译。
无法确定为什么需要很长时间[如状态栏中所示-它完整地“解析java…”并尝试编译],而与IntelliJ11相比,5+分钟后失败而不是几秒钟。
另外,从命令行使用javac进行编译也可以正常工作。
添加堆栈跟踪:
Information:Using javac 1.7.0_25 to compile java sources
Information:java: The system is out of resources.
Information:java: Consult the following stack trace for details.
Information:java:   at java.lang.Integer.valueOf(Integer.java:642)
Information:java:   at com.sun.tools.javac.parser.EndPosParser.storeEnd(EndPosParser.java:64)
Information:java:   at com.sun.tools.javac.parser.EndPosParser.toP(EndPosParser.java:77)
Information:java:   at com.sun.tools.javac.parser.JavacParser.term3(JavacParser.java:1008)
Information:java:   at com.sun.tools.javac.parser.JavacParser.term2(JavacParser.java:701)
Information:java:   at com.sun.tools.javac.parser.JavacParser.term1(JavacParser.java:672)
Information:java:   at com.sun.tools.javac.parser.JavacParser.term(JavacParser.java:628)
Information:java:   at com.sun.tools.javac.parser.JavacParser.term(JavacParser.java:610)
Information:java:   at com.sun.tools.javac.parser.JavacParser.parseType(JavacParser.java:604)
Information:java:   at com.sun.tools.javac.parser.JavacParser.catchTypes(JavacParser.java:1888)
Information:java:   at com.sun.tools.javac.parser.JavacParser.catchClause(JavacParser.java:1876)
Information:java:   at com.sun.tools.javac.parser.JavacParser.parseStatement(JavacParser.java:1771)
Information:java:   at com.sun.tools.javac.parser.JavacParser.blockStatements(JavacParser.java:1598)
Information:java:   at com.sun.tools.javac.parser.JavacParser.block(JavacParser.java:1561)
Information:java:   at com.sun.tools.javac.parser.JavacParser.block(JavacParser.java:1575)
Information:java:   at com.sun.tools.javac.parser.JavacParser.methodDeclaratorRest(JavacParser.java:2696)
Information:java:   at com.sun.tools.javac.parser.JavacParser.classOrInterfaceBodyDeclaration(JavacParser.java:2645)
Information:java:   at com.sun.tools.javac.parser.JavacParser.classOrInterfaceBody(JavacParser.java:2573)
Information:java:   at com.sun.tools.javac.parser.JavacParser.classDeclaration(JavacParser.java:2421)
Information:java:   at com.sun.tools.javac.parser.JavacParser.classOrInterfaceOrEnumDeclaration(JavacParser.java:2362)
Information:java:   at com.sun.tools.javac.parser.JavacParser.typeDeclaration(JavacParser.java:2351)
Information:java:   at com.sun.tools.javac.parser.JavacParser.parseCompilationUnit(JavacParser.java:2289)
Information:java:   at com.sun.tools.javac.parser.EndPosParser.parseCompilationUnit(EndPosParser.java:83)
Information:java:   at com.sun.tools.javac.main.JavaCompiler.parse(JavaCompiler.java:595)
Information:java:   at com.sun.tools.javac.main.JavaCompiler.parse(JavaCompiler.java:632)
Information:java:   at com.sun.tools.javac.main.JavaCompiler.parseFiles(JavaCompiler.java:909)
Information:java:   at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:824)
Information:java:   at com.sun.tools.javac.main.Main.compile(Main.java:439)
Information:java:   at com.sun.tools.javac.api.JavacTaskImpl.call(JavacTaskImpl.java:132)
Information:java:   at org.jetbrains.jps.javac.JavacMain.compile(JavacMain.java:165)
Information:java:   at org.jetbrains.jps.incremental.java.JavaBuilder.compileJava(JavaBuilder.java:364)
Information:java:   at org.jetbrains.jps.incremental.java.JavaBuilder.compile(JavaBuilder.java:276)
Information:java: **Errors occurred while compiling module 'PROJ-NAME'**
Information:Compilation completed with 1 error and 0 warnings in 8 min 32 sec
Information:1 error
Information:0 warnings
**Error:java: OutOfMemoryError: insufficient memory**

2
这可能更适合 IntelliJ IDEA bug 跟踪器,同时提供一个演示问题的适当测试案例。 - millimoose
如果可以的话,请发布您的“简单Java类”。 - JoshDM
即使是简单的“Hello World”程序也存在这个问题,例如我刚刚尝试了这个小程序的编译,发现了相同的行为。public class MyImpl { public static void main(String av[]) { System.out.println("你好 IntelliJ12!!"); } } - user1587504
1个回答

0

您尝试过禁用GWT编译器吗?

您可以关闭模块复选框,在项目结构-> Facets -> GWT中找到。

虽然通常无法帮助解决OOM错误,但请发布您的堆栈跟踪。


我通过转到设置->插件->GWT支持来禁用它。然后重新打开IntelliJ12。但仍然需要很长时间,并且会出现OOM错误。我已将堆栈跟踪添加到上面的问题中。 - user1587504

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接