当我运行程序时,系统给出此错误。我该如何解决这个错误?

时间:2019-01-23 12:28:25

标签: cucumber-jvm cucumber-java cucumber-junit

每当我运行Junit的Cucumber程序时,我都会遇到错误。这里的错误。任何帮助都会很棒

但是在程序中,没有错误。

java.lang.NoClassDefFoundError: cucumber/io/ResourceLoader
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
at java.lang.Class.getConstructor0(Unknown Source)
at java.lang.Class.getConstructor(Unknown Source)
at cucumber.runtime.Reflections.hasConstructor(Reflections.java:53)
at cucumber.runtime.Reflections.instantiateSubclasses(Reflections.java:)
at cucumber.runtime.Runtime.loadBackends(Runtime.java:87)
at cucumber.runtime.Runtime.<init>(Runtime.java:41)
at cucumber.api.junit.Cucumber.createRuntime(Cucumber.java:84)
at cucumber.api.junit.Cucumber.<init>(Cucumber.java:63)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(UnknownSource)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.junit.internal.requests.ClassRequest.buildRunner(ClassRequest.java:33)
at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:28)
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:525)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:763)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:463)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:209)

Caused by: java.lang.ClassNotFoundException: cucumber.io.ResourceLoader
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)
... 23 more

我想运行我的程序,但是系统出现错误。

4 个答案:

答案 0 :(得分:1)

请确保您具有正确的一个或多个Cucumber依赖性。 您可以在docs

中找到所需的版本及其最新版本。

如果您使用多个Cucumber依赖项,请确保所有版本都使用相同的版本,以免发生冲突。

答案 1 :(得分:1)

以下是使Cucumber运行所需的最低依赖关系:

Cucumber-java (1.2.2) | Cucumber-junit (1.2.2) | Cucumber-picocontainer (1.2.2) |junit (4.12)

Maven管理其余的依赖项。确保您具有最新的依赖项,并且没有混合和匹配版本(所有版本均应遵循1.2.2 / 4.0.0版本)

请共享您的POM.XML依赖项。

答案 2 :(得分:0)

您可能会从类路径中丢失了cucumber-core.jar

答案 3 :(得分:0)

希望您不是一个Maven项目,或者您没有在pom.xml中添加黄瓜核心依赖项。我可以看到@funkyjelly已经提供的解决方案,请仔细阅读。