设置黄瓜测试时出现NoClassDefFoundError

时间:2015-09-03 14:50:53

标签: java cucumber-jvm

我的黄瓜设置出现以下错误。我正在关注youtube视频(https://www.youtube.com/watch?v=pD4B839qfos&list=PL_noPv5wmuO_t6yYbPfjwhJFOOcio89tI)进行此设置,但我下载了所有最新的jar。不知道出了什么问题,但现在我无法弄清楚需要做些什么。有人可以帮帮我吗?

Exception in thread "main" java.lang.NoClassDefFoundError: gherkin/formatter/Formatter
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at cucumber.runtime.formatter.PluginFactory$1.<init>(PluginFactory.java:53)
at cucumber.runtime.formatter.PluginFactory.<clinit>(PluginFactory.java:52)
at cucumber.runtime.RuntimeOptions.<init>(RuntimeOptions.java:69)
at cucumber.api.cli.Main.run(Main.java:31)
at cucumber.api.cli.Main.main(Main.java:18)
Caused by: java.lang.ClassNotFoundException: gherkin.formatter.Formatter
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 17 more

1 个答案:

答案 0 :(得分:2)

这意味着您使用的Gherkin版本与其他Cucumber库不兼容。我尝试使用最新的gherkin3-3.0.0,但它对我不起作用,所以我把它降级为gherkin-2.12.2

我在10月17日获得了Cucumber

以下的版本
  • 的Cobertura-2.1.1
  • 黄瓜核-1.2.5
  • 黄瓜-java的1.2.5
  • cucumber-junit-1.2.5 cucumber-jvm-deps-1.0.5
  • cucumber-reporting-3.10.0 gherkin-2.12.2 junit-4.12
  • 的Mockito-全2.0.2-β

可以在 提供的依赖关系 部分

下找到与您的Cucumber-java兼容的版本here

如果这不能解决您的问题,请确保从项目构建路径中删除jar并再次添加。如果您使用maven,那么清除本地maven存储库也可能有所帮助。

您还可以按照此tutorial

中提及的步骤操作