Перейдите в OpenJDK-11, но скомпилируйте в Java 8 - PullRequest
0 голосов
/ 11 января 2019

У меня есть приложение Spring boot, которое я создаю через gradle. Все эти дни я использовал JDK / JRE 8, а сейчас пытаюсь использовать JDK-11

Итак, чтобы проверить совместимость, я устанавливаю JAVA_HOME на JDK-11, но пытаюсь скомпилировать в Java 8 режиме

Я добавил блок ниже в моем build.gradle

compileJava {
    targetCompatibility = '1.8'
}

и затем я устанавливаю JAVA_HOME явно set JAVA_HOME=C:\Users\arun\Desktop\jdk-11.0.1

и затем выполнить gradlew clean build

Но я остановился за исключением следующего

> Configure project :
Build Version = build-182-ga03cf6c

> Task :compileJava FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':compileJava'.
> warning: source release 11 requires target release 11

Как указать JAVA_HOME на JDK-11, но при этом выполнить его в режиме Java-8?

Ответы [ 3 ]

0 голосов
/ 11 января 2019

Я бы сказал:

sourceCompatibility = '1.8'
targetCompatibility = '1.8'

Поскольку значением по умолчанию sourceCompatibility является версия текущей используемой JVM.

источник: https://docs.gradle.org/current/userguide/java_plugin.html

0 голосов
/ 16 июля 2019

Начиная с Java 9, вы можете использовать опцию --release N для кросс-компиляции с Gradle. Установка sourceCompatibility и targetCompatibility недостаточна, потому что в этом случае вам также нужно установить для bootClasspath значение JDK N. См. Что такое флаг --release в компиляторе Java 9? для получения более подробной информации.

Вместо этого используйте компилятор Java 9+ "--release", например:

compilerArgs.addAll (['- release', '8'])

https://docs.gradle.org/current/dsl/org.gradle.api.tasks.compile.CompileOptions.html

0 голосов
/ 11 января 2019

вам также нужно установить sourceCompatibility.

Смотрите этот пост здесь Gradle, "sourceCompatibility" против "targetCompatibility"?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...