如何在IntelliJ中使用-javac选项的参数?

23

我已经在Eclipse中成功实现,现在正在尝试在Intellij中实现。我打开了设置{command and comma},然后转到“Build, Execution and Deployment”,点击“Compiler”,在“Shared Build Process VM Options”中键入“-parameters”。但是,在构建项目时,Intellij报错说“未识别的选项:-parameters”。

我的项目在jdk8中编译正常,并且我正在使用jdk 8 lambda和其他jdk特性。我不明白为什么不能使用参数进行编译。

2个回答

48

"共享编译进程VM选项"字段,顾名思义,用于指定共享编译进程的VM选项。 共享编译进程不是javac-parameters也不是VM选项。 因此,该选项无法被识别。

输入-parameters选项的正确位置为 设置 > 构建、执行、部署 > 编译器 > Java编译器 > 附加命令行参数。


17
记得重新构建你的项目,否则它可能无法正常工作。 - min
1
@yole,您能否更新一下答案?我正在使用IntelliJ 2018.3版本,但是我找不到上述设置路径。 - Saiteja Parsi
@SaitejaParsi 在2018.3中,设置位于完全相同的路径。 - yole
1
@yole,我正在运行2018.3.5版,但是我也没看到你所描述的设置。 - Greg Brown
2
好的,我找到了。它在“首选项”>“构建、执行、部署”>等下面。我一直在“构建”菜单下寻找它。我已经在我的Gradle脚本中设置了编译器标志,但是IDEA出于某种原因忽略了它。 - Greg Brown
4
如果在设置菜单中的“构建、执行、部署”>“构建工具”>“Gradle”>“运行器”中未启用“将IDE构建/运行操作委托给Gradle”,IntelliJ IDEA将使用其自己的编译器来构建项目,而不会使用build.gradle中指定的构建选项。如果启用此选项,则构建将通过Gradle运行,并使用build.gradle中的选项。 - yole

1
如果在“设置 > 构建、执行、部署 > 编译器 > Java编译器”下找不到选项(就像我在2021.1.1版本中一样),您可以在build.gradle文件中指定它(例如这里):
tasks.withType(JavaCompile) {
    options.compilerArgs << '-parameters'
}

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