Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Gradle error: Could not initialize class org.codehaus.groovy.runtime.InvokerHelper

I need to see my dependencies in Gradle to fix a problem with multiple SLF4J bindings.
However, when I run 'gradle dependencies' I get the error:

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

In a similar question in stack-overflow Android Studio Could not initialize class org.codehaus.groovy.runtime.InvokerHelper
it was recommended to

  1. install java jdk-14
  2. upgrade to gradle version 6.3

I changed the jdk to 14 in IntelliJ in 2 places:

  1. File -> Project Structure -> Project -> Project SDK
  2. Preferences -> Gradle -> Gradle JVM

I attempted to update gradle from the command line with: 'gradle wrapper --gradle-version 6.3' and got the same error:

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

I then changed the field 'distributionUrl' in the file 'gradle-wrapper.properties' to 'gradle-6.3', as instructed here https://github.com/gradle/gradle/issues/10248.

I tried various combinations of jdk and gradle versions but nothing seems to work.

like image 215
Joshua Spinak Avatar asked Apr 20 '20 17:04

Joshua Spinak


People also ask

Where is Gradle wrapper properties file?

The Wrapper shell script and batch file reside in the root directory of a single or multi-project Gradle build. You will need to reference the correct path to those files in case you want to execute the build from a subproject directory e.g. ../../gradlew tasks .

What version of gradle do I have?

Verify Gradle Installation. Now open the command prompt. In the command prompt, enter Gradle -version. It will display the current version of Gradle just installed on the screen.

Why is Gradle not working on my Android project?

This error is caused due to incompatible JAVA JDK and Gradle version in the project. Head to ./android/gradle/wrapper/gradle-properties ..... and change the required gradle version.

How to upgrade Gradle version in Android?

You can do that by going to {project root folder}\android\gradle\wrapper\gradle-wrapper.properties and changing the distributionUrl value to upgrade the Gradle version. You can check out here the lastest releases of Gradle. " The image is just to show where the text is written in the docs.

Is there another version of groovy with invokerhelper?

This means that there is another version of Groovy already known to the classloader, but this version doesn't have the method InvokerHelper. Check the Glassfish Doc on how to prefer the libs deployed with the application over existing libs of the same name.

Why can't I get invokerhelper in the classloader?

This means that there is another version of Groovy already known to the classloader, but this version doesn't have the method InvokerHelper. Check the Glassfish Doc on how to prefer the libs deployed with the application over existing libs of the same name. The jar should be in the runtime classpath of the server.


2 Answers

So from your repo, if you have gradle-wrapper.properties like this:

➜ 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

On first compilation, Gradle tells you that:

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

So if you move the buildscript section up to the top of the build.gradle file, it all seems to work

And I get:

➜ ./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
like image 189
tim_yates Avatar answered Sep 20 '22 07:09

tim_yates


Had a similar problem on Windows 10 caused by a java version issue. In build.gradle set the java source compatibility flag; For java 1.8 this is

sourceCompatibility = '1.8'

then check the system version is the same

java -version

like image 28
Stephen L. Avatar answered Sep 21 '22 07:09

Stephen L.