IntelliJ IDEA 14.0.0 Web Help

Compiler. Java Compiler

File | Settings | Build, Execution, Deployment | Compiler | Java Compiler


On the Compiler > Java Compiler page, you can select the compiler to be used and specify how it should be used.

Compiler and bytecode versions

Item Description
Use compiler Select the compiler to be used:
  • Javac. The compiler from the JDK that is currently assigned to the project is used.
  • Eclipse (also known as Eclipse Compiler for Java or ECJ). IntelliJ IDEA comes bundled with the Eclipse compiler.
  • Ajc (the AspectJ compiler). This compiler is not included in IntelliJ IDEA distribution and should be downloaded separately.

    Note that this compiler is shown in the list only if the AspectJ support plugins are enabled. See Enabling AspectJ Support Plugins.

    See also, Ajc options and Using the AspectJ Compiler (ajc).

Project bytecode version Select the version of bytecode to be generated. (Roughly, this is the minimum target JVM version.)

If no particular version is specified, the bytecode version is defined by the compiler.

To specify different versions for particular modules, use the controls in the Per-module bytecode version area.

Per-module bytecode version If necessary, specify the target bytecode versions for individual modules (e.g. if they should differ from that set for the project).

Click add and select the modules of interest in the dialog that opens. Then, for each of the modules, click the corresponding Target bytecode version cell and select the version from the list.

Use delete to remove the selected module or modules from the list.

Javac and Eclipse options

Item Description
Generate debugging info If this check box is selected, the compiler generates the information necessary for running the compiled classes in the debugger.
Report use of deprecated features If this check box is selected, the compiler displays warnings about the deprecated methods, classes, or fields encountered during compilation. (The corresponding warnings are shown in the compiler output window.)
Generate no warnings If this check box is selected, the compiler omits the warnings about dubious usages of language constructs.
Proceed on errors For the Eclipse compiler: If you select this check box, the compiler continues the compilation even when compilation errors occur.
Additional command line parameters 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 shift-enter-button 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\".

Ajc options

Item Description
Path to Ajc compiler Specify the path to ajc (the file aspectjtools.jar which is located in <AspectJ installation directory>\lib).

Type the path in the field, or click browseButton and select the required file in the dialog that opens.

Test Click this button to check if the path and the command line parameters are correct.

If all is well, the compiler version is displayed. Otherwise, an error message is shown. (Using the path and the parameters specified, IntelliJ IDEA tries to launch the compiler with the additional -version parameter.)

Command line parameters If necessary, specify the command-line options to be passed to the compiler.

You can type the parameters right in the field, or click shift-enter-button to open the Command line parameters dialog where the text entry area is larger.

When specifying the options, follow these rules:

  • Use spaces to separate individual options, for example, -client -ea -Xmx1024m.
  • If 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 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\".

Note that the aspectpath option may be specified separately, using the GUI provided below.

Generate debug info If this check box is selected, the compiler generates the information necessary for running the compiled classes in the debugger.
Explicit aspect path If you want to specify the aspectpath option, select this check box, and then use the available controls (see below) to form the aspectpath.

add (Alt+Insert). Use this icon or shortcut to add project and global libraries to the list. Select the necessary library or libraries in the Choose Libraries dialog that opens.

delete (Alt+Delete). Use this icon or shortcut to remove the selected items from the list.

arrowUp (Alt+Up). Use this icon or shortcut to move the selected item one line up in the list.

arrowDown (Alt+Down). Use this icon or shortcut to move the selected item one line down in the list.

See also, Controlling the ajc aspectpath and Fine-tuning the use of ajc at a module level.

Delegate to Javac If this option is off, ajc is used in all cases.

If this option is on, javac is used in addition to or instead of ajc. For example, javac will be used to compile the modules that contain no aspects. As a result, the compilation may become much faster.

See also, Optimizing compilation performance: Using ajc in combination with javac and Fine-tuning the use of ajc at a module level.

See Also

Last modified: 4 December 2014
comments powered by Disqus