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

标签 java gradle java-8 java-11

我有一个现有的 Spring boot 应用程序,它是我通过 gradle 构建的。这些天我一直在使用 JDK/JRE 8,现在我正在尝试使用 JDK-11

所以为了检查兼容性,我将 JAVA_HOME 设置为 JDK-11 但尝试在 Java 8 模式下编译

我在我的 build.gradle 中添加了以下 block

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 模式执行它?

最佳答案

我会说:

sourceCompatibility = '1.8'
targetCompatibility = '1.8'

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

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

关于java - 转移到 OpenJDK-11 但在 Java 8 中编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54147275/

相关文章:

java - Gradle intelliJ 插件 SLF4J : Class path contains multiple SLF4J bindings

java - java8流图在这里做什么?

java - 在 Java 8 中获取不同时区的当前时间

java - 如何为java swing应用程序设置图标?

java - 当计数器从 1 开始时,递归方法出现堆栈溢出

java - org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException :

android - 如何在android studio中用gradle替换buildvariant的字符串?

java - 如何在playframework中使用kyotocabinet(JNI)?

android - 在 android gradle 中导入 itext-7

java - 在并行运行其他线程之前等待第一个线程完成