9

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

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

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

其他项目,例如 Maven 项目和纯 Java 项目,可以在 Java 14 上正常工作。

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

例如:

gradle init --type basic

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

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

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

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

在 878 毫秒内构建失败

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

java --版本

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

Java HotSpot(TM) 64 位服务器 VM(内部版本 14+36-1461,混合模式,共享)

有什么解决方案可以让 Gradle 6.2.2 与 Oracle JDK 14 一起工作吗?

4

1 回答 1

20

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

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

Gradle 6.3,根据 Gradle 6.3 Release notes支持 JDK 14 。

以下解决方案适用:

  • 要继续使用 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--版本

摇篮 6.3

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

Kotlin:1.3.70 Groovy:2.5.10 Ant:2019 年 9 月 1 日编译的 Apache Ant(TM) 版本 1.10.7 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, mixed mode,分享)

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

gradle 包装器 --gradle-version=6.3

于 2020-03-18T15:09:28.300 回答