使用 Oracle JDK 14 时,所有 gradle (6.2.2) 任务都失败并显示“无法初始化类 org.codehaus.groovy.runtime.InvokerHelper”

Spy*_*s K 9 java windows gradle java-14

我安装了 JDK 14 并开始使用它。

但是,使用 Gradle 6.2.2 的项目无法运行,并且每次尝试调用 Gradle Task 时都会出现以下错误:

无法初始化类 org.codehaus.groovy.runtime.InvokerHelper

其他项目,例如 maven 项目和普通的 java 项目,可以在 Java 14 上正常工作。

重现此错误的一种简单方法是创建一个新文件夹并尝试运行该init任务。

例如:

gradle init --type 基本

FAILURE:构建失败,出现异常。

  • 出了什么问题:无法初始化类 org.codehaus.groovy.runtime.InvokerHelper

  • 尝试:使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获得更多日志输出。使用 --scan 运行以获得完整的见解。

  • https://help.gradle.org获取更多帮助

在 878 毫秒内构建失败

运行本例的PC使用windows 10。java版本为:

java --version

java 14 2020-03-17 Java(TM) SE 运行时环境(构建 14+36-1461)

Java HotSpot(TM) 64 位服务器 VM(构建 14+36-1461,混合模式,共享)

是否有解决此问题的方法,以便我可以使 Gradle 6.2.2 与 Oracle JDK 14 一起使用?

Spy*_*s K 20

正如上面的评论和Gradle 6.2.2 中所指出的兼容性8 到 13 之间的 Java 版本需要执行 Gradle 6.2.2。Gradle 6.2.2 尚不支持 Java 14 及更高版本。

自 Gradle 6.3 版本以来更新的答案:

Gradle 6.3,支持 JDK 14根据 Gradle 6.3 发行说明

以下解决方案适用:

  • 继续使用 Gradle 6.2.2:

    1. 安装兼容的 JDK 版本 (8-13)
    2. 修改 gradle.properties 以使用此版本。例如,如果 JDK 13 安装在:C:/Program Files/Java/jdk-13.0.2 确保以下行在gradle.properties.

      org.gradle.java.home=C:/Program Files/Java/jdk-13.0.2

  • 继续使用JDK14。

    1. 安装和使用 Gradle 6.3(或更高版本)

设置系统后,验证您运行的版本是否正确。例如,当使用 Java 14 和 Gradle 6.3 时,您将得到如下信息:

键入C:\>gradle --version以下内容以获取 gradle 版本:

C:>gradle --version

摇篮 6.3

构建时间:2020-03-24 19:52:07 UTC 修订版:
bacd40b727b0130eeac8855ae3f9fd9a0b207c60

Kotlin:1.3.70 Groovy:2.5.10 Ant:Apache Ant(TM) version 1.10.7 2019 年 9 月 1 日编译 JVM:14(Oracle Corporation 14+36-1461) OS:Windows 10 10.0 amd64

键入java --version以获取 Java 版本:

C:>java --version java 14 2020-03-17 Java(TM) SE Runtime Environment (build 14+36-1461) Java HotSpot(TM) 64-Bit Server VM(build 14+36-1461,混合模式,分享)

如果您使用 Gradle 包装器,则可以使用以下命令将 gradle 包装器更改为 6.3 版:

gradle 包装器 --gradle-version=6.3

  • 6.3 候选版本似乎支持 JDK 14:https://docs.gradle.org/6.3-rc-2/release-notes.html (3认同)
  • @ChristopherChalfant,尝试为此处讨论的 gradle 问题设置位置 https://github.com/gradle/gradle/issues/10248。升级 gradle 后,两个 distributionUrl 都需要匹配 location1: /Users/ChristopherChalfant/Pject/ShoppingList/android/gradle/wrapper/gradle-wrapper.properties location2: /Users/ChristopherChalfant/gradle/wrapper/gradle-wrapper.properties distributionUrl=https\ ://services.gradle.org/distributions/gradle-6.3-bin.zip (2认同)
  • 只是一个有用的说明:使用 Windows,我下载了 Gradle 6.3,将其放在与 Gradle 6.0 相同的文件夹中,并设置了环境变量 Gradle_Home。此时我预计它会起作用,但它没有。我错过的信息是我必须创建一个 PATH 条目。 (2认同)