java.lang.NoClassDefFoundError:在eclipse中执行testrunner类时,gherkin/IGherkinDialectProvider

java.lang.NoClassDefFoundError:在eclipse中执行testrunner类时,gherkin/IGherkinDialectProvider,java,eclipse,maven,cucumber,gherkin,Java,Eclipse,Maven,Cucumber,Gherkin,在使用runas>JUnit运行testrunner类文件时,我得到以下错误。 请查找运行程序类、依赖项和错误 Testrunner类 package runner; import org.junit.runner.RunWith; import cucumber.api.CucumberOptions; import cucumber.api.junit.Cucumber; @RunWith(Cucumber.class) @CucumberOptions( features

在使用runas>JUnit运行testrunner类文件时,我得到以下错误。 请查找运行程序类、依赖项和错误

Testrunner类

package runner;
import org.junit.runner.RunWith;
import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber;

@RunWith(Cucumber.class)
@CucumberOptions(
        features  = "login.feature",
                glue={"LoginStepDefinition"}
        )
public class TestRunner {

}
pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>BDDFramework</groupId>
    <artifactId>bddframework</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <dependencies>
        <!-- https://mvnrepository.com/artifact/info.cukes/cucumber-junit -->
        <dependency>
            <groupId>info.cukes</groupId>
            <artifactId>cucumber-junit</artifactId>
            <version>1.2.5</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-java -->
        <dependency>
            <groupId>io.cucumber</groupId>
            <artifactId>cucumber-java</artifactId>
            <version>6.1.1</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/io.cucumber/gherkin -->
        <dependency>
            <groupId>io.cucumber</groupId>
            <artifactId>gherkin</artifactId>
            <version>13.0.0</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/io.cucumber/gherkin-jvm-deps -->
        <dependency>
            <groupId>io.cucumber</groupId>
            <artifactId>gherkin-jvm-deps</artifactId>
            <version>1.0.4</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-picocontainer -->
        <dependency>
            <groupId>io.cucumber</groupId>
            <artifactId>cucumber-picocontainer</artifactId>
            <version>6.1.1</version>
        </dependency>

        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.13</version>
        </dependency>

        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>3.141.59</version>
        </dependency>
    </dependencies>
</project>

4.0.0
BDD框架
BDD框架
0.0.1-快照
信息杯
黄瓜刺柏
1.2.5
黄瓜
黄瓜爪哇
6.1.1
黄瓜
小黄瓜
13.0.0
黄瓜
小黄瓜
1.0.4
黄瓜
黄瓜皮容器
6.1.1
朱尼特
朱尼特
4.13
org.seleniumhq.selenium
硒爪哇
3.141.59
我得到下面的错误

java.lang.NoClassDefFoundError: gherkin/IGherkinDialectProvider
    at cucumber.runtime.RuntimeOptionsFactory.create(RuntimeOptionsFactory.java:28)
    at cucumber.api.junit.Cucumber.<init>(Cucumber.java:56)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:104)
    at org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:86)
    at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:70)
    at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:37)
    at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:70)
    at org.junit.internal.requests.ClassRequest.createRunner(ClassRequest.java:28)
    at org.junit.internal.requests.MemoizingRequest.getRunner(MemoizingRequest.java:19)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createUnfilteredTest(JUnit4TestLoader.java:90)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:76)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:49)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:526)
    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)
Caused by: java.lang.ClassNotFoundException: gherkin.IGherkinDialectProvider
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 20 more
java.lang.NoClassDefFoundError:gherkin/IGherkinDialectProvider
在cucumber.runtime.RuntimeOptionsFactory.create中(RuntimeOptionsFactory.java:28)
cumber.api.junit.cumber.(cumber.java:56)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance(未知源)
位于sun.reflect.delegatingConstructor或AccessorImpl.newInstance(未知源)
位于java.lang.reflect.Constructor.newInstance(未知源)
位于org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:104)
位于org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:86)
位于org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:70)
位于org.junit.internal.builders.AllDefaultPossibilityBuilder.runnerForClass(AllDefaultPossibilityBuilder.java:37)
位于org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:70)
位于org.junit.internal.requests.ClassRequest.createRunner(ClassRequest.java:28)
位于org.junit.internal.requests.MemoizingRequest.getRunner(MemoizingRequest.java:19)
位于org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createUnfilteredTest(JUnit4TestLoader.java:90)
位于org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:76)
位于org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:49)
位于org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:526)
位于org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:770)
位于org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:464)
位于org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:210)
原因:java.lang.ClassNotFoundException:gherkin.IGherkinDialectProvider
位于java.net.URLClassLoader.findClass(未知源)
位于java.lang.ClassLoader.loadClass(未知源)
位于sun.misc.Launcher$AppClassLoader.loadClass(未知源)
位于java.lang.ClassLoader.loadClass(未知源)
... 20多
是否需要在pom.xml文件中添加/删除任何依赖项? 我正在使用最新的eclipse版本。请帮助我解决此问题。

我删除了除以下依赖项之外的所有依赖项

黄瓜
黄瓜刺柏
6.1.1
测试
黄瓜
黄瓜核
6.1.1
黄瓜
黄瓜爪哇
6.1.1
我在eclipse中添加了Cucumber&Natural插件。
现在,test runner类正在按预期工作。

您试过看这个吗?看那个问题。另外,您还混合了Cucumber的不同版本。您能告诉我应该删除/修改哪些依赖项吗@M.P.Korstanjes从头开始,并按照此处的说明操作:
<!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-junit -->
        <dependency>
            <groupId>io.cucumber</groupId>
            <artifactId>cucumber-junit</artifactId>
            <version>6.1.1</version>
            <scope>test</scope>
        </dependency>

        <!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-core -->
        <dependency>
            <groupId>io.cucumber</groupId>
            <artifactId>cucumber-core</artifactId>
            <version>6.1.1</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-java -->
        <dependency>
            <groupId>io.cucumber</groupId>
            <artifactId>cucumber-java</artifactId>
            <version>6.1.1</version>
        </dependency>