When this option is on and the version of the JDK associated with a module is different from that of the build process JDK, the compiler from the module JDK is used. The exception is when the version of the module JDK is earlier than 1.6. In such cases, the compiler from the build process JDK is used in the cross-compilation mode against the classes of the module JDK.
When the option is off, all the modules are compiled with the same compiler, the one from the build process JDK. When necessary, the cross-compilation mode is used.
To start the build process, the latest of the available JDKs is used. This JDK is chosen from all the JDKs used in your modules, the default project JDK, and also the JDK bundled with IntelliJ IDEA.
IMPORTANT! The choice of the compiler does not affect the source code language level, and also the bytecode target level and linking. That is, irrespective of which compiler is used, the bytecode is linked against the JDK associated with the module, and the resulting code levels are exactly the ones that are specified in your project settings.
For Java 9, the –release compiler option is set in . It automatically configures the Java compiler to produce class files that will link against an implementation of the given platform version. If you need to switch this option off, clear the checkbox in the settings.
Specify the command-line parameters and options to be passed to the compiler at its start. Refer to the compiler documentation for the available options.
If you need more room to type, click to open the Additional command line parameters dialog where the text entry area is larger.
When specifying the parameters and options, follow these rules:
Use spaces to separate individual parameters and options, for example, -client -ea -Xmx1024m.
If a parameter or an option includes spaces, enclose the spaces or the argument that contains the spaces in double quotes, for example, some” “arg or “some arg”.
If a parameter or an option includes double quotes (e.g. as part of the argument), escape the double quotes by means of the backslashes, for example, -Dmy.prop=”quoted_value”.