Gradle错误:无法初始化类org.codehaus.groovy.runtime.InvokerHelper

时间:2020-04-20 17:56:49

标签: java gradle groovy

我需要在Gradle中查看我的依赖项,以解决多个SLF4J绑定的问题。
但是,当我运行“渐变依赖项”时,出现错误:

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

在堆栈溢出Android Studio Could not initialize class org.codehaus.groovy.runtime.InvokerHelper中的类似问题中
建议

  1. 安装Java jdk-14
  2. 升级到gradle版本6.3

我在2个地方的IntelliJ中将jdk更改为14:

  1. 文件->项目结构->项目->项目SDK
  2. 首选项-> Gradle-> Gradle JVM

我尝试通过以下命令从命令行更新gradle: '渐变包装器--gradle-version 6.3' 并得到相同的错误:

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

然后按照https://github.com/gradle/gradle/issues/10248的指示,将文件“ gradle-wrapper.properties”中的字段“ distributionUrl”更改为“ gradle-6.3”。

我尝试了jdk和gradle版本的各种组合,但似乎无济于事。

3 个答案:

答案 0 :(得分:4)

所以从您的仓库中,如果您有gradle-wrapper.properties这样的内容:

➜ cat gradle/wrapper/gradle-wrapper.properties
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.3-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

在第一次编译时,Gradle会告诉您:

  build file '/Users/tim/Code/Java/brobotREST/build.gradle': 36:
     all buildscript {} blocks must appear before any plugins {} blocks in the script

因此,如果将buildscript部分移至build.gradle文件的顶部,一切似乎都可以正常工作

我得到:

➜ ./gradlew -version

------------------------------------------------------------
Gradle 6.3
------------------------------------------------------------

Build time:   2020-03-24 19:52:07 UTC
Revision:     bacd40b727b0130eeac8855ae3f9fd9a0b207c60

Kotlin:       1.3.70
Groovy:       2.5.10
Ant:          Apache Ant(TM) version 1.10.7 compiled on September 1 2019
JVM:          14 (Azul Systems, Inc. 14+36)
OS:           Mac OS X 10.15.4 x86_64

答案 1 :(得分:0)

在Windows 10上存在由Java版本问题引起的类似问题。 在 build.gradle 中设置Java源兼容性标志;对于 java 1.8 ,这是

sourceCompatibility ='1.8'

然后检查系统版本是否相同

java -version

答案 2 :(得分:0)

我在 macOS 上遇到了类似的问题。看来,这是 IntelliJ IDEA 和 Gradle 版本差异的问题。 我在 /gradle/gradle-wrapper.properties 中调整了 Gradle 版本。 就我而言,我已设置: distributionUrl=https://services.gradle.org/distribution/gradle-6.6.1-bin.zip

现在它可以工作了。 另请参阅 Gradle:无法初始化类 org.codehaus.groovy.runtime.InvokerHelper