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

1

16

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

Coopersmith answered 2/4, 2018 at 20:12 Comment(1)
This Q/A is as well suited for other IDE's such as Eclipse and of course - since it is an official compiler option - for the JDK (just adding some keywords for search engines here).Maximo
R
14

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.

Radices answered 2/4, 2018 at 20:19 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.