在junit中运行cucumber java文件时出错

在junit中运行cucumber java文件时出错,java,junit,cucumber,Java,Junit,Cucumber,我正在从junit运行cucumber程序,我总是收到一个错误,上面写着: TestRunner (1) cucumber.TestRunner initializationError(cucumber.TestRunner) 知道为什么会发生这种错误吗? 但是当我运行我的.feature文件时,它的执行非常顺利 我的堆栈跟踪是: java.lang.NoClassDefFoundError: org/jdom2/Content at java.lang.Class.getDeclaredMe

我正在从junit运行cucumber程序,我总是收到一个错误,上面写着:

TestRunner (1)
cucumber.TestRunner
initializationError(cucumber.TestRunner)
知道为什么会发生这种错误吗? 但是当我运行我的
.feature
文件时,它的执行非常顺利

我的堆栈跟踪是:

java.lang.NoClassDefFoundError: org/jdom2/Content
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
at java.lang.Class.privateGetPublicMethods(Unknown Source)
at java.lang.Class.getMethods(Unknown Source)
at cucumber.runtime.java.MethodScanner.scan(MethodScanner.java:40)
at cucumber.runtime.java.JavaBackend.loadGlue(JavaBackend.java:86)
at cucumber.runtime.Runtime.<init>(Runtime.java:91)
at cucumber.runtime.Runtime.<init>(Runtime.java:69)
at cucumber.runtime.Runtime.<init>(Runtime.java:65)
at cucumber.api.junit.Cucumber.createRuntime(Cucumber.java:78)
at cucumber.api.junit.Cucumber.<init>(Cucumber.java:58)
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:59)
at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:33)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createUnfilteredTest(JUnit4TestLoader.java:84)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:70)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:43)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:444)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
Caused by: java.lang.ClassNotFoundException: org.jdom2.Content
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)
... 28 more
java.lang.NoClassDefFoundError:org/jdom2/Content
位于java.lang.Class.getDeclaredMethods0(本机方法)
位于java.lang.Class.privateGetDeclaredMethods(未知源)
位于java.lang.Class.privateGetPublicMethods(未知源)
位于java.lang.Class.getMethods(未知源)
在cucumber.runtime.java.MethodScanner.scan(MethodScanner.java:40)中
在cucumber.runtime.java.JavaBackend.loadGlue中(JavaBackend.java:86)
atcumber.runtime.runtime.(runtime.java:91)
atcumber.runtime.runtime.(runtime.java:69)
atcumber.runtime.runtime.(runtime.java:65)
位于cucumber.api.junit.cucumber.createRuntime(cucumber.java:78)
cumber.api.junit.cumber.(cumber.java:58)
位于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:59)
位于org.junit.internal.builders.AllDefaultPossibilityBuilder.runnerForClass(AllDefaultPossibilityBuilder.java:26)
位于org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
位于org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:33)
位于org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createUnfilteredTest(JUnit4TestLoader.java:84)
位于org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:70)
位于org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:43)
位于org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:444)
位于org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
位于org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
位于org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
原因:java.lang.ClassNotFoundException:org.jdom2.Content
位于java.net.URLClassLoader.findClass(未知源)
位于java.lang.ClassLoader.loadClass(未知源)
位于sun.misc.Launcher$AppClassLoader.loadClass(未知源)
位于java.lang.ClassLoader.loadClass(未知源)
... 28多

重命名包或将步骤定义移动到类似“cucumber.steps”的位置,并使用@CucumberOptions(glue=“cucumber.steps”)排除cucumber包。

库jdom是否在类路径上?