【问题标题】:Could not target platform: 'Java SE 12' using tool chain: 'JDK 8 (1.8)'无法定位平台:“Java SE 12”使用工具链:“JDK 8 (1.8)”
【发布时间】:2020-04-17 08:32:45
【问题描述】:

我在终端上的 java spring boot (grade) 项目的根路径下运行以下命令:

./gradlew 清理检查

但我收到错误消息:

> Task :compileJava FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':compileJava'.
> Could not target platform: 'Java SE 12' using tool chain: 'JDK 8 (1.8)'. 

如何摆脱这个错误?

【问题讨论】:

  • 更新你的jdk或者减少你的目标平台

标签: java gradle build.gradle gradlew


【解决方案1】:

老问题,但我刚才也在寻找。

Gradle 在您的 %userprofile%/.gradle/gradle.properties 中设置了默认 JVM。 这是我的文件夹“C:\Users\j.gradle\gradle.properties”:

您还应该将较新的 JVM 放在此处,以确保 gradle 可以编译较新的项目。 现在看起来像这样:

org.gradle.java.home=C:/Program Files/AdoptOpenJDK/jdk-11.0.7.10-hotspot

另请参阅我发布相同答案的此线程:https://stackoverflow.com/a/62564011/2807735

【讨论】:

  • Linux 的等效文件是“~/.gradle/gradle.properties”
【解决方案2】:

您正在尝试将类编译为 Java 12,但您使用的是 Java 8 JDK。

如果您在控制台中输入 java -version,您应该会看到 Java 8。 您需要安装 Java 12 或更高版本并将其放在您的 PATH 或将您的目标更改为 Java 8

【讨论】:

  • 我已经安装了Java 12,如何通过终端命令切换到12?
【解决方案3】:

由于另一个 SO 修复,我将这些部分放在不同的部分 build.gradle (app)

compileOptions {
    sourceCompatibility 1_8
    targetCompatibility 1_8
}

compileOptions {
    sourceCompatibility 1_7
    targetCompatibility 1_7
}

我删除了第二个,问题得到了解决。

【讨论】:

    猜你喜欢
    • 2021-01-17
    • 1970-01-01
    • 2022-12-10
    • 2017-10-15
    • 2021-03-27
    • 2012-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多