运行跑步程序时,我在黄瓜上遇到此错误“ 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)

使用BDD和Java运行黄瓜时出现此错误
[1]:https://i.stack.imgur.com/8VgxW.png [2]:https://i.stack.imgur.com/h8SSv.png [3]:https://i.stack.imgur.com/R5WqZ.png

更新: 我将这种依赖关系用于黄瓜,这是怎么回事

    <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>

解决方法

我降级了依赖项,然后它起作用了,因为我使用了 java 8 我的参考是黄瓜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>