Что такое опция "Использовать --release" в настройках IntelliJ 2018.1?

В настройках IntelliJ 2018.1 (Сборка, Выполнение, Развертывание> Компилятор> Компилятор Java) установлен флажок:

Используйте параметр --release для кросс-компиляции (Java 9 и более поздние версии)

Я нашел информацию, когда делал поиск в интернете. "?" Значок справки выдает ошибку 404 при нажатии.

Какова цель / функция этой опции?

введите описание изображения здесь

1 ответ

Решение

Раздел справки можно найти здесь:

По умолчанию эта опция выбрана. IntelliJ IDEA выводит из настроек проекта, когда требуется кросс-компиляция, и автоматически применяет параметр компилятора --release для Java 9.

Что --release вариант? Это новый параметр командной строки, определенный в JEP 247: Компиляция для более старых версий платформы.

Новая опция командной строки, --release, определяется, который автоматически настраивает компилятор для создания файлов классов, которые будут ссылаться на реализацию данной версии платформы.

Обсуждается в этом хорошем ответе здесь.

Также проверьте IDEA-184333 для фона, почему эта опция была добавлена ​​в IDE. Короче говоря, некоторые пользователи должны указывать только -source а также -target версии для своих проектов без установки -bootclasspath вариант.

Другие вопросы по тегам