Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the “Use '--release' option” in IntelliJ 2018.1 preferences?

In the preferences for IntelliJ 2018.1 (Build, Execution, Deployment > Compiler > Java Compiler) is an checkbox labeled:

Use '--release' option for cross-compilation (Java 9 and later)

I found for information when doing an internet search. The "?" help icon give a 404 error when clicked.

What is the purpose/function of this option?

enter image description here

like image 827
Basil Bourque Avatar asked Apr 02 '18 20:04

Basil Bourque


1 Answers

The help section can be found here:

By default, this option is selected. IntelliJ IDEA deduces from project settings when the cross-compilation is needed and automatically applies the --release compiler option for Java 9.

What is the --release option? It is a new command-line option, defined in JEP 247: Compile for Older Platform Versions.

A new command-line option, --release, is defined, which automatically configures the compiler to produce class files that will link against an implementation of the given platform version.

Discussed in this good answer here.

Also check IDEA-184333 for the background why this option was added in the IDE. In short, some users need to specify only -source and -target versions for their projects without also setting the -bootclasspath option.

like image 156
CrazyCoder Avatar answered Nov 07 '22 16:11

CrazyCoder