Search code examples
javaseleniumcucumberbdd

I have this error with cucumber when running the runner"java.lang.NoClassDefFoundError: io/cucumber/messages/Messages$JavaMethod"


FAILED: runScenario("Register To website", "Optional[User Registration]")
        Runs Cucumber Scenarios
java.lang.NoClassDefFoundError: io/cucumber/messages/Messages$JavaMethod
    at io.cucumber.core.runner.CachingGlue.createSourceReference(CachingGlue.java:303)
    at io.cucumber.core.runner.CachingGlue.lambda$emitStepDefined$5(CachingGlue.java:293)
    at java.util.Optional.ifPresent(Unknown Source)
    at io.cucumber.core.runner.CachingGlue.emitStepDefined(CachingGlue.java:293)
    at io.cucumber.core.runner.CachingGlue.lambda$prepareGlue$3(CachingGlue.java:252)
    at java.util.ArrayList.forEach(Unknown Source)
    at io.cucumber.core.runner.CachingGlue.prepareGlue(CachingGlue.java:243)
    at io.cucumber.core.runner.Runner.runPickle(Runner.java:68)

I have this error when running cucumber with BDD and java
[1]: https://i.sstatic.net/8VgxW.png [2]: https://i.sstatic.net/h8SSv.png [3]: https://i.sstatic.net/R5WqZ.png

UPdate : i use this dependancies for Cucumber what is wrong with it

    <dependency>
        <groupId>io.cucumber</groupId>
        <artifactId>cucumber-testng</artifactId>
        <version>6.4.0</version>
    </dependency>
    <dependency>
        <groupId>io.cucumber</groupId>
        <artifactId>cucumber-core</artifactId>
        <version>6.4.0</version>
    </dependency>
    <dependency>
        <groupId>io.cucumber</groupId>
        <artifactId>cucumber-java</artifactId>
        <version>6.4.0</version>
    </dependency>
    <dependency>
        <groupId>io.cucumber</groupId>
        <artifactId>gherkin</artifactId>
        <version>15.0.0</version>
    </dependency>

Solution

  • I downgraded the dependencies then it worked because I use java 8 My reference is Cucumber docs

    <dependency>
            <groupId>com.github.javafaker</groupId>
            <artifactId>javafaker</artifactId>
            <version>1.0.2</version>
        </dependency>
        <dependency>
            <groupId>io.cucumber</groupId>
            <artifactId>cucumber-testng</artifactId>
            <version>6.2.0</version>
        </dependency>
        <dependency>
            <groupId>io.cucumber</groupId>
            <artifactId>cucumber-core</artifactId>
            <version>6.2.0</version>
        </dependency>
        <dependency>
            <groupId>io.cucumber</groupId>
            <artifactId>cucumber-java</artifactId>
            <version>6.2.0</version>
        </dependency>