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

新手上路,请多包涵

我需要在 Gradle 中查看我的依赖项以修复多个 SLF4J 绑定的问题。

但是,当我运行“gradle dependencies”时,出现错误:

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

在 stack-overflow 中的类似问题中 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 wrapper –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 版本的各种组合,但似乎没有任何效果。

原文由 Joshua Spinak 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 2.9k
2 个回答

所以从你的回购协议中,如果你有这样的 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

原文由 tim_yates 发布,翻译遵循 CC BY-SA 4.0 许可协议

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

现在它起作用了。另见 Gradle:无法初始化类 org.codehaus.groovy.runtime.InvokerHelper

原文由 Viktor Sirotin 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题