如何为Intellij编译器提供更多堆空间?

mic*_*ael 94 intellij-idea

当我创建一个Intellij项目时,我不断收到以下内存错误.

我已经增加了我的堆大小idea.vmoptions:

-Xms128m
-Xmx2048m
-XX:MaxPermSize=1024m
-XX:ReservedCodeCacheSize=64m
-ea
Run Code Online (Sandbox Code Playgroud)

但我仍然得到这个错误:

Information:The system is out of resources.
Information:Consult the following stack trace for details.
Information:java.lang.OutOfMemoryError: Java heap space
Information:    at com.sun.tools.javac.util.Position$LineMapImpl.build(Position.java:139)
Information:    at com.sun.tools.javac.util.Position.makeLineMap(Position.java:63)
Information:    at com.sun.tools.javac.parser.Scanner.getLineMap(Scanner.java:1105)
Information:    at com.sun.tools.javac.main.JavaCompiler.parse(JavaCompiler.java:512)
Information:    at com.sun.tools.javac.main.JavaCompiler.parse(JavaCompiler.java:550)
Information:    at com.sun.tools.javac.main.JavaCompiler.parseFiles(JavaCompiler.java:804)
Information:    at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:727)
Information:    at com.sun.tools.javac.main.Main.compile(Main.java:353)
Information:    at com.sun.tools.javac.main.Main.compile(Main.java:279)
Information:    at com.sun.tools.javac.main.Main.compile(Main.java:270)
Information:    at com.sun.tools.javac.Main.compile(Main.java:69)
Information:    at com.sun.tools.javac.Main.main(Main.java:54)
Information:    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
Information:    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
Information:    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
Information:    at java.lang.reflect.Method.invoke(Method.java:597)
Information:    at com.intellij.rt.compiler.JavacRunner.main(JavacRunner.java:71)
Information:Compilation completed with 1 error and 0 warnings
Information:1 error
Information:0 warnings
Error:Compiler internal error. Process terminated with exit code 3
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

Cra*_*der 138

当前版本:

Settings(Preferences在Mac上)| Build, Execution, Deployment| Compiler| 构建进程堆大小.

旧版本:

Settings(Preferences在Mac上)| Compiler| Java Compiler| 最大堆大小.

默认情况下,编译器在单独的JVM中运行,因此您设置的IDEA堆设置idea.vmoptions对编译器没有影响.

  • @ clankill3r尝试`设置`| `编译器`| `构建进程堆大小`. (14认同)
  • 之后需要重启:) (9认同)
  • 我知道这有点偏离主题,但如果遇到这个问题,可能会为某人留下一些头发.我遇到了同样的问题,但是当我在IntelliJ中进行`mvn install`时,我的情况就出现了.解决方案是修改`设置| Maven | 亚军|**VM选项**"我必须尝试其中的所有其他设置,直到我得到那个权利.希望它可以帮助某人. (9认同)
  • 实际上并非如此 (8认同)
  • 对于更新版本的Intellij(我的是2016.1.3),此参数称为"构建进程堆大小(Mbytes)",可以在"设置|构建,执行,部署|编译器"中找到. (4认同)
  • 我可以找到它直到"最大堆大小"我是否必须将其添加为附加命令行参数? (2认同)

Chi*_*hin 89

自IntelliJ 2016起,位置为File | 设置| 构建,执行,部署| 编译器| 构建进程堆大小.

在此输入图像描述

  • 我把它改成了2000MB,但还是不行。 (4认同)

Jan*_*mec 5

我在 Ant 构建中遇到了类似的问题(从 IDEA GUI 手动启动)。就我而言,有一个正确的解决方案是右键单击 Ant 任务,选择属性并将更高的值设置为“最大堆空间(Mb):”和“最大堆栈空间(Mb):”输入字段。

在此处输入图片说明


小智 5

要解决此问题,请按照以下给定步骤进行操作-

1)。在 inteli 中转到文件> 设置选项并搜索 Vm 选项 在导入程序的 Vm 选项字段中输入值 -Xmx512m。 Intelij 设置选项

2)。转到控制面板选择查看方式:大图标,然后转到 Java 将出现一个提示窗口,名称为java 控制面板,然后转到 Java Java VM 选项

选择查看选项。 java视图选项

在 Java 运行时环境设置中,将运行时参数传递为-Xmx1024m

3)。如果以上给定的选项不起作用,则更改 pom.xml 的大小

  • 那个临时的反对票来自我。如果您想给予信任,请链接到您找到信息的确切页面,而不是教程列表。 (2认同)