1

I am creating my first REST api test using the Serenity BDD framework in Maven. I ran into this error:

"java.lang.NoClassDefFoundError: Could not initialize class org.codehaus.groovy.vmplugin.v7.Java7 "

Because of the error, I am not getting the response.

Serenity test:

 package rest;
    
    import org.junit.Test;
    import org.junit.runner.RunWith;
    
    import io.restassured.RestAssured;
    import io.restassured.response.Response;
    import net.serenitybdd.core.Serenity;
    import net.serenitybdd.junit.runners.SerenityRunner;
    import net.serenitybdd.rest.SerenityRest;
    import net.thucydides.core.annotations.Title;
    
    @RunWith(SerenityRunner.class)
    public class FirstRestTest {
        
        

        
        public static void init() {
            
            RestAssured.baseURI = "http://localhost:8080";
            RestAssured.basePath = "/api/users/";
            
        }
        @Title("sending the first call")
        @Test
        public void testGetRequest() {
            
            Response response = SerenityRest.given().when().get("4");
            
            response.prettyPrint();
        }
        
    
    }

POM.xml

<properties>
    <serenity.version>2.0.81</serenity.version>
    <serenity.maven.version>2.0.81</serenity.maven.version>
    <serenity.restassured.version>2.0.81</serenity.restassured.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <encoding>UTF-8</encoding>
</properties>


<dependencies>


    <dependency>
        <groupId>net.serenity-bdd</groupId>
        <artifactId>serenity-core</artifactId>
        <version>${serenity.version}</version>

    </dependency>
    <dependency>
        <groupId>net.serenity-bdd</groupId>
        <artifactId>serenity-junit</artifactId>
        <version>${serenity.version}</version>
        <scope>test</scope>
    </dependency>

    <!-- https://mvnrepository.com/artifact/net.serenity-bdd/serenity-rest-assured -->
    <dependency>
        <groupId>net.serenity-bdd</groupId>
        <artifactId>serenity-rest-assured</artifactId>
        <version>${serenity.restassured.version}</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-simple -->
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-simple</artifactId>
        <version>1.7.32</version>
        <scope>test</scope>
    </dependency>


</dependencies>

Error:

[main] INFO net.serenitybdd.core.Serenity - TEST NUMBER: 1 java.lang.NoClassDefFoundError: Could not initialize class org.codehaus.groovy.vmplugin.v7.Java7 at org.codehaus.groovy.vmplugin.VMPluginFactory.(VMPluginFactory.java:43) at org.codehaus.groovy.reflection.GroovyClassValueFactory.(GroovyClassValueFactory.java:35) at org.codehaus.groovy.reflection.ClassInfo.(ClassInfo.java:109) at org.codehaus.groovy.reflection.ReflectionCache.getCachedClass(ReflectionCache.java:95) at org.codehaus.groovy.reflection.ReflectionCache.(ReflectionCache.java:39) at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.registerMethods(MetaClassRegistryImpl.java:209) at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.(MetaClassRegistryImpl.java:107) at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.(MetaClassRegistryImpl.java:85) at groovy.lang.GroovySystem.(GroovySystem.java:36) at org.codehaus.groovy.runtime.InvokerHelper.(InvokerHelper.java:86) at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.createMap(ScriptBytecodeAdapter.java:637) at io.restassured.internal.ResponseParserRegistrar.(ResponseParserRegistrar.groovy) at io.restassured.RestAssured.(RestAssured.java:346) at net.serenitybdd.rest.SerenityRest.given(SerenityRest.java:214) at rest.FirstRestTest.testGetRequest(FirstRestTest.java:28) 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:564) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at net.serenitybdd.junit.runners.SerenityStatement.evaluate(SerenityStatement.java:33) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) at net.serenitybdd.junit.runners.SerenityRunner.performRunChild(SerenityRunner.java:463) at net.serenitybdd.junit.runners.SerenityRunner.runChild(SerenityRunner.java:438) at net.serenitybdd.junit.runners.SerenityRunner.runChild(SerenityRunner.java:45) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at net.serenitybdd.junit.runners.SerenityRunner.run(SerenityRunner.java:242) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:89) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:41) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:542) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:770) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:464) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:210) [main] ERROR net.thucydides.core.steps.ConsoleLoggingListener - __ _____ _____ ____ _____ _____ _ ___ _ _____ ____ _ / / |_ | / | | | / \ | _| | | | _ \ ()| | | | | | _ \ | | | | / _ \ | || | | | | | | | || | | | | | ) || | | / ___ \ | || || || || | () | | || |_____|/ || ||//
__||__|____/ _\

TEST FAILED WITH ERROR: sending the first call --------------------------------------------------------------------- [main] ERROR net.thucydides.core.steps.ConsoleLoggingListener - Could not initialize class org.codehaus.groovy.reflection.ReflectionCache

GreenTree
  • 53
  • 1
  • 3
  • 14
  • A similar issue is mentioned [here](https://stackoverflow.com/questions/61289461/java-lang-noclassdeffounderror-could-not-initialize-class-org-codehaus-groovy-v) – Hisan Hunais Oct 20 '21 at 16:41
  • My combination is SerenityBDD, Eclipse, and Maven. No gradle being used. I looked at the link before I posted this. – GreenTree Oct 20 '21 at 16:52

0 Answers0