IntelliJ - 使用JDK 11和Eclipse编译器

4
我使用 IntelliJ 2018.3 并且需要使用 JDK 11。
该项目可以在 Eclipse 上编译(使用 Eclipse 编译器),但不能在 IDEA 上编译(使用 Javac 编译器)。

enter image description here

我决定在IDEA上使用Eclipse编译器(Eclipse编译器4.7.2),但总是出现以下错误: enter image description here 是否有解决方案可以在IntelliJ上使用Eclipse编译器编译我的程序?如果有,如何操作?

你选择了项目字节码版本11吗? - Vineeth Chitteti
@VineethChitteti 是的。 - charles Lgn
2个回答

4
请使用JDK 9或更低版本,目前还不支持Java 10和11:https://youtrack.jetbrains.com/issue/IDEA-190791(仅适用于Eclipse编译器限制)。
您可以增加运行构建进程的JVM的堆大小,并切换回javac编译器,而不是使用Eclipse编译器: build process heap size 这应该可以解决第一个错误。

@KarolDowbecki 是的,但是在使用Eclipse编译器时不是这样。所以答案是正确的。 - CrazyCoder
我不能使用低于JDK 11的版本,所以我尝试增加大小,结果成功了。谢谢。 - charles Lgn
这也许是一个愚蠢的问题,但是Eclipse使用Eclipse编译器,我尝试在Eclipse上运行项目(使用JDK 11),它可以正常工作。这是因为IDEA上的Eclipse编译器已经过时了,还是因为它更加复杂? :/ - charles Lgn
@charlesLgn IntelliJ IDEA捆绑了一个较旧版本的Eclipse编译器。 - CrazyCoder

2
为了解决javac编译过程中的OutOfMemoryError错误,您可以传递命令行标志-J-Xms256m -J-Xmx256m来增加内存。
这可以在设置 > 构建、执行、部署 > 编译器 > Java编译器菜单下的附加命令行参数字段中完成。

1
@charlesLgn请注意,CrazyCoder的答案指向了“构建过程堆大小”选项,这是管理此设置的正确位置。 - Karol Dowbecki

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