web-dev-qa-db-ja.com

OpenJDK-11に移動しますが、Java 8でコンパイルします。

gradleを介してビルドする既存のSpring bootアプリがあります。最近の日私はJDK / JRE 8を使用していて、今、私はJDK-11を使おうとしています

そのため、互換性を確認するために、Java_HOMEJDK-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_HOMEJDK-11に指す方法は、Java-8モードでそれを実行しますか?

9
Arun

Java 9の時点では、grayleとクロスコンパイルするために--release nオプションを使用できます。 SourceCompatibilityとTargetCompatibilityを設定すると、その場合はBootClassPathをJDK Nに設定する必要があります。 を参照してください。Java 9コンパイラの--releaseフラグは何ですか?詳細については

代わりに、このようにJava 9+ "--release" compilerargを使用します。

compilerargs.addall([' - release'、 '8'])

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

2
whitestryder