当我尝试使用黄瓜在日食上运行junit测试时出现此错误
ava.lang.NoClassDefFoundError: cucumber/runtime/snippets/SummaryPrinter
at cucumber.api.junit.Cucumber.run(Cucumber.java:90)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: java.lang.ClassNotFoundException: cucumber.runtime.snippets.SummaryPrinter
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
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)
... 7 more
答案 0 :(得分:1)
在基于Maven的项目中升级Cucumber版本时出现此错误。
我将<artifactId>cucumber-java</artifactId>
版本从1.1.5更新为1.2.4,但我没有更新<artifactId>cucumber-junit</artifactId>
- 它仍然是1.1.5。
在我将两者更新为相同版本的那一刻,此错误消失了。
答案 1 :(得分:0)
您的代码所依赖的类文件,它在编译时出现但在运行时未找到。查找构建时和运行时类路径的差异。
答案 2 :(得分:0)
将cucumber-core,cucumber-java和cucumber-junit更新为同一版本(我使用的是1.1.5版本)。问题已为我解决。