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

时间:2020-03-18 14:51:48

标签: 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 basic

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

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

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

  • https://help.gradle.org

    获得更多帮助

在878ms内失败

运行此示例的PC使用Windows 10。 Java版本是:

java --version

java 14 2020-03-17 Java™SE运行时环境(内部版本14 + 36-1461)

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

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

1 个答案:

答案 0 :(得分:19)

如上面的注释和Gradle 6.2.2. Compatibility中指出的那样,执行Gradle 6.2.2需要8到13之间的Java版本。 Gradle 6.2.2尚不支持Java 14和更高版本。

自Gradle 6.3发布以来更新的答案:

6.3版,支持JDK 14 According to the Gradle 6.3 Release notes

以下解决方案适用:

  • 要继续使用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年3月24日19:52:07 UTC修订版:
bacd40b727b0130eeac8855ae3f9fd9a0b207c60

科特琳:1.3.70 Groovy:2.5.10蚂蚁:Apache Ant(TM) 在2019年9月1日JVM上编译的1.10.7版:14(Oracle Corporation 14 + 36-1461)操作系统:Windows 10 10.0 amd64

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

C:> java --version java 14 2020-03-17 Java(TM)SE运行时环境 (内部版本14 + 36-1461)Java HotSpot(TM)64位服务器VM(内部版本 14 + 36-1461,混合模式,共享)

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

渐变包装--gradle-version = 6.3