IntelliJ IDEA 2025.1 Help

Java 编译器

编译器 | Java 编译器 页面上,您可以选择要使用的 Java 编译器并指定相关选项。

编译器与字节码版本

条目

描述

使用编译器

请选择要使用的编译器:

  • Javac。 这可能是 IntelliJ IDEA 发行版中包含的编译器或某个项目 JDK 中的编译器。

  • Eclipse(也称为 Eclipse 编译器 for Java 或 ECJ)。 IntelliJ IDEA 捆绑了 Eclipse 编译器。

  • Groovy-Eclipse。 此编译器允许您使用 Eclipse 编译器对 Groovy 和 Java 代码进行联合编译。

使用 '--release' 选项进行交叉编译 (Java 9 及更高版本)

默认情况下,已选择此选项。 IntelliJ IDEA 会根据项目设置推断何时需要交叉编译,并自动应用 Java 9 的 --release 编译器选项。

项目字节码版本

选择要生成的字节码版本。 (大致上,这是最低目标 JVM 版本。)

如果未指定特定版本,字节码版本由编译器定义。

要为特定模块指定不同的版本,请使用“按模块字节码版本”区域中的控件。

按模块字节码版本

如有必要,可为各个模块指定目标字节码版本(例如,如果它们应与 项目设置中设定的不同)。

点击 添加 ,然后在打开的对话框中选择感兴趣的模块。 然后,对于每个模块,点击相应的 目标字节码版本 单元格并从列表中选择版本。

使用 移除 从列表中移除所选模块。

Javac 和 Eclipse 选项

条目

描述

尽可能使用模块目标JDK的编译器

对于 Javac 编译器:

当此选项开启时,如果与模块关联的 JDK 版本与 build process JDK 版本不同,则使用模块 JDK 中的编译器。 当模块 JDK 的版本早于 1.6 时,这是一个例外。 在这种情况下,来自构建过程 JDK 的编译器在 交叉编译模式下针对模块 JDK 的类使用。

当该选项关闭时,所有模块都使用相同的编译器进行编译,即构建过程中的 JDK。 必要时,将使用交叉编译模式。

要开始构建过程,使用最新的可用 JDK。 此 JDK 是从所有用于您的模块中的 JDK、默认项目 JDK 以及 IntelliJ IDEA 捆绑的 JDK 中选择的。

重要提示! 编译器的选择不会影响源代码语言级别,也不会影响字节码目标级别和链接。 也就是说,无论使用哪个编译器,字节码都会与该模块关联的 JDK 链接,而生成的代码级别正是您在项目设置中指定的级别。

生成调试信息

如果选中此复选框,编译器会生成在调试器中运行编译类所需的信息。

报告使用弃用的功能

如果选中此复选框,编译器会显示有关在编译过程中遇到的已弃用的方法、类或字段的警告。 (相应的警告会显示在编译器输出窗口中。)

不生成警告

如果选中此复选框,编译器将忽略关于语言结构可疑用法的警告。

遇到错误时继续

对于 Eclipse 编译器:如果您选中此复选框,即使发生编译错误,编译器也会继续编译。

ECJ 批处理编译器工具的路径(若留空,则使用捆绑路径)

对于 Eclipse 编译器:如果您需要指定 Eclipse 编译器的特定版本,请使用此选项。

附加命令行参数

指定在编译器启动时传递的命令行参数和选项。 有关可用选项的更多信息,请参阅编译器文档。

如果您需要更多的书写空间,请点击 展开组件 打开 附加命令行参数 对话框,其中的文本输入区域更大。

在指定参数和选项时,请遵循以下规则:

  • 请使用空格分隔各个参数和选项,例如, -client -ea -Xmx1024m

  • 如果参数或选项包含空格,请将空格或包含空格的参数用双引号括起来,例如, some" "arg"some arg"

  • 如果一个参数或选项包含双引号(例如,作为参数的一部分),请通过反斜杠转义双引号,例如, -Dmy.prop=\"quoted_value\"

Groovy-Eclipse 选项

条目

描述

Groovy-eclipse-batch jar 路径

请指定您的 groovy-eclipse-batch jar 位置的路径。 请点击 浏览按钮 并指定 jar 文件的路径,然后点击 OK

请注意,必须输入 groovy-eclipse-batch jar 文件的位置才能使编译器正常工作。

命令行参数

指定在编译器启动时传递的命令行参数和选项。 有关可用选项的更多信息,请参阅编译器文档中的可用选项。

如果您需要更多的书写空间,请点击 展开组件 打开 附加命令行参数 对话框,其中的文本输入区域更大。

在指定参数和选项时,请遵循以下规则:

  • 请使用空格分隔各个参数和选项,例如, -client -ea -Xmx1024m

  • 如果参数或选项包含空格,请将空格或包含空格的参数用双引号括起来,例如, some" "arg"some arg"

  • 如果一个参数或选项包含双引号(例如,作为参数的一部分),请通过反斜杠转义双引号,例如, -Dmy.prop=\"quoted_value\"

虚拟机选项

使用此选项可以修改 JVM 属性,包括堆栈或堆内存分配、系统属性、GC 标志等。 例如,您可以指向 Lombok 文件来传递一些注解参数。

生成调试信息

如果选中此复选框,编译器会生成在调试器中运行编译类所需的信息。

最后修改日期: 2025年 4月 24日