# NoClassDefFoundError with Gradle

**URL:** <https://discuss.gradle.org/t/noclassdeffounderror-with-gradle/43916>\
**Category:** Help/Discuss\
**Created:** [September 26, 2022, 1:22pm UTC](https://discuss.gradle.org/t/noclassdeffounderror-with-gradle/43916 "2022-09-26T13:22:46Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![jc1](https://avatars.discourse-cdn.com/v4/letter/j/6f9a4e/32.png) [@jc1](https://discuss.gradle.org/u/jc1)\
**Post date:** [September 26, 2022, 1:22pm UTC](https://discuss.gradle.org/t/noclassdeffounderror-with-gradle/43916/1 "2022-09-26T13:22:46Z")

</div>

When I run gradle tests in Intellij (or using `./gradlew test`, I get `NoClassDefFoundError`.

When I run gradle dependencies, I see:

```
testRuntimeOnly - Runtime only dependencies for source set 'test'. (n)
No dependencies

```

even though I have some test-only dependencies in my build file. I’m also not able to import a class from the onebiz:datastore\_testing project.

I’m running JDK 11. “onebiz:datastore\_testing” project is part of the same Gradle multi-module build/project. That dependency does work with other sub-modules. I tried commenting it out and replacing the code that was calling it and the error still exists.

build.gradle:

```
apply plugin: 'jacoco'

apply from: "$rootDir/standard-java.gradle"
apply from: "$rootDir/standard-java-publishing.gradle"

ext.googleCloudClientSpannerVersion='6.28.0'

dependencies {
    compile "com.google.cloud:google-cloud-spanner:$googleCloudClientSpannerVersion"
    compile (project(":onebiz:onebiz"))

    testCompile "org.mockito:mockito-core:$onebiz_MOCKITO"
    testCompile "junit:junit:$onebiz_JUNIT"
    testCompile project(":onebiz:datastore_testing")
}

test {
    finalizedBy jacocoTestReport
}

jacocoTestReport {
    dependsOn test
}

jacocoTestCoverageVerification {
    violationRules {
        rule {
            limit {
                minimum = 0.8
            }
        }
    }
}

```

Error message:

```
    Could not initialize class com.s.onebiz.util.TestUtils
java.lang.NoClassDefFoundError: Could not initialize class com.s.onebiz.util.TestUtils
	at com.s.onebiz.util.TestClientManager.<init>(TestClientManager.java:39)
	at com.s.onebiz.core.cloud.spanner.CloudSpannerOneDataImplTest.<clinit>(CloudSpannerOneDataImplTest.java:38)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
	at org.junit.internal.runners.statements.RunBefores.invokeMethod(RunBefores.java:33)
	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24)
	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
	at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.runTestClass(JUnitTestClassExecutor.java:110)
	at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.execute(JUnitTestClassExecutor.java:58)
	at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.execute(JUnitTestClassExecutor.java:38)
	at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestClassProcessor.processTestClass(AbstractJUnitTestClassProcessor.java:62)
	at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:51)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
	at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33)
	at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94)
	at com.sun.proxy.$Proxy5.processTestClass(Unknown Source)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.processTestClass(TestWorker.java:119)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
	at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:182)
	at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:164)
	at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:414)
	at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
	at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
	at java.base/java.lang.Thread.run(Thread.java:829)

```

---

<div class="post-metadata">

**Author:** ![Vampire](https://sea1.discourse-cdn.com/gradle/user_avatar/discuss.gradle.org/vampire/32/9082_2.png) [@Vampire](https://discuss.gradle.org/u/Vampire)\
**Post date:** [September 29, 2022, 11:20am UTC](https://discuss.gradle.org/t/noclassdeffounderror-with-gradle/43916/2 "2022-09-29T11:20:47Z")

</div>

You should not use `compile` and `testCompile`, those are deprecated since years and in 7.0 finally removed.  
That `testRuntimeOnly` is empty is expected, you do not declare any `testRuntimeOnly` dependencies, look at `testRuntimeClasspath` instead.  
The error does not tell you the class is missing, it tells you it couldn’t initialize the class, this usually happens if you have some exception during static initialization of the class, scroll up a bit and you probably find the actual error.
