当使用Oracle JDK 14时,所有gradle(6.2.2)任务都会失败,并显示“无法初始化类org.codehaus.groovy.runtime.InvokerHelper". [英] When using Oracle JDK 14 all gradle (6.2.2) tasks fail with "Could not initialize class org.codehaus.groovy.runtime.InvokerHelper"

查看:327
本文介绍了当使用Oracle JDK 14时,所有gradle(6.2.2)任务都会失败,并显示“无法初始化类org.codehaus.groovy.runtime.InvokerHelper".的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I installed JDK 14 and started using it.

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

However projects that use Gradle 6.2.2 cannot work, and the following error appears each time I try to invoke a Gradle Task :

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

Could not initialize class org.codehaus.groovy.runtime.InvokerHelper

其他项目(例如,maven项目和普通的Java项目)可以在Java 14中正常工作.

Other projects, for instance maven projects and plain java projects work OK with Java 14.

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

An easy way to reproduce this error is by creating a new folder and attempting to run the init task.

例如:

gradle init --type basic

gradle init --type basic

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

FAILURE: Build failed with an exception.

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

  • What went wrong: Could not initialize class org.codehaus.groovy.runtime.InvokerHelper

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

Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

https://help.gradle.org

在878ms内失败

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

The PC that runs this example uses windows 10. The java version is:

java --version

java --version

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

java 14 2020-03-17 Java(TM) SE Runtime Environment (build 14+36-1461)

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

Java HotSpot(TM) 64-Bit Server VM (build 14+36-1461, mixed mode, sharing)

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

Is there any solution to this problem so that I can make Gradle 6.2.2 work with Oracle JDK 14?

推荐答案

如上面的注释和 6.2.2级.兼容性需要8至13之间的Java版本才能执行Gradle 6.2.2. Gradle 6.2.2尚不支持Java 14和更高版本.

As pointed out in the comments above and in Gradle 6.2.2. Compatibility a Java version between 8 and 13 is required to execute Gradle 6.2.2. Java 14 and later versions are not yet supported by Gradle 6.2.2.

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

Updated answer since Gradle 6.3 release:

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

Gradle 6.3, supports JDK 14 According to the Gradle 6.3 Release notes .

以下解决方案适用:

  • 要继续使用Gradle 6.2.2:

  • To keep using Gradle 6.2.2:

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

  1. Install a compatible JDK Version (8-13)
  2. Modify gradle.properties to use this version. For example if JDK 13 is installed in: C:/Program Files/Java/jdk-13.0.2 Make sure the following line is in gradle.properties.

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

  • 继续使用JDK14.

  • To Keep using JDK14.

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

  • 设置系统后,请确认您正在运行正确的版本. 例如,当使用Java 14和Gradle 6.3时,您将得到类似的东西:

    After setting up your system, verify that you are running the correct versions. For instance when using Java 14 and Gradle 6.3 you will get something like:

    输入以下内容C:\>gradle --version以获得gradle版本:

    Type C:\>gradle --version following to get the gradle version:

    C:> gradle --version

    C:>gradle --version

    6.3级

    构建时间:2020年3月24日19:52:07 UTC修订版:
    bacd40b727b0130eeac8855ae3f9fd9a0b207c60

    Build time: 2020-03-24 19:52:07 UTC Revision:
    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

    Kotlin: 1.3.70 Groovy: 2.5.10 Ant: Apache Ant(TM) version 1.10.7 compiled on September 1 2019 JVM: 14 (Oracle Corporation 14+36-1461) OS: Windows 10 10.0 amd64

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

    Type java --version to get the java version:

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

    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, sharing)

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

    If you use Gradle wrapper you can use the following command to change the gradle wrapper to version 6.3:

    渐变包装--gradle-version = 6.3

    gradle wrapper --gradle-version=6.3

    这篇关于当使用Oracle JDK 14时,所有gradle(6.2.2)任务都会失败,并显示“无法初始化类org.codehaus.groovy.runtime.InvokerHelper".的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

    查看全文
    相关文章
    登录 关闭
    扫码关注1秒登录
    发送“验证码”获取 | 15天全站免登陆