转到OpenJDK-11但在Java 8中编译

Aru*_*run 7 java gradle java-8 java-11

我有一个现有的Spring boot应用程序,我建立gradle.这些天我一直在使用JDK / JRE 8,现在我正在尝试使用JDK-11

因此,要检查兼容性,我设置JAVA_HOMEJDK-11,但试图编译Java 8模式

我在下面添加了以下块 build.gradle

compileJava {
    targetCompatibility = '1.8'
}
Run Code Online (Sandbox Code Playgroud)

然后我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
Run Code Online (Sandbox Code Playgroud)

如何指向我JAVA_HOMEJDK-11,但仍然在执行它Java-8模式?

Tri*_*tan 6

我会说 :

sourceCompatibility = '1.8'
targetCompatibility = '1.8'
Run Code Online (Sandbox Code Playgroud)

因为sourceCompatibility的默认值是当前使用的JVM的版本.

来源:https://docs.gradle.org/current/userguide/java_plugin.html


小智 5

你也需要设置sourceCompatibility.

在这里看到这篇文章 Gradle,"sourceCompatibility"vs"targetCompatibility"?