我安装了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运行以获取完整的见解。
- 获得更多帮助
在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一起使用?
答案 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:
修改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。
设置系统后,请确认您运行的版本正确。 例如,当使用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