2014-02-05 35 views
0

我對cucumber很陌生,我試圖在不使用Maven的情況下配置Java項目,我遇到以下異常。我覺得這是一個.feature文件的路徑問題試圖在不使用Maven的情況下在eclipse中設置cucumber-project

例外:

java.lang.NoClassDefFoundError: cucumber/io/ResourceLoader 
at java.lang.Class.getDeclaredConstructors0(Native Method) 
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2398) 
at java.lang.Class.getConstructor0(Class.java:2708) 
at java.lang.Class.getConstructor(Class.java:1659) 
at cucumber.runtime.Utils.hasConstructor(Utils.java:30) 
at cucumber.runtime.io.ClasspathResourceLoader.instantiateSubclasses(ClasspathResourceLoader.java:55) 
at cucumber.runtime.Runtime.loadBackends(Runtime.java:81) 
at cucumber.runtime.Runtime.<init>(Runtime.java:61) 
at cucumber.api.junit.Cucumber.<init>(Cucumber.java:59) 
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) 
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) 
at java.lang.reflect.Constructor.newInstance(Constructor.java:513) 
at org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:31) 
at org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:24) 
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57) 
at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:29) 
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57) 
at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:24) 
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.<init>(JUnit4TestReference.java:33) 
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestClassReference.<init>(JUnit4TestClassReference.java:25) 
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:48) 
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:38) 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:452) 
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.io.ResourceLoader 
at java.net.URLClassLoader$1.run(URLClassLoader.java:202) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.net.URLClassLoader.findClass(URLClassLoader.java:190) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:306) 
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:247) 
... 27 more 

我還附上我的項目設置的圖像。

enter image description here

任何幫助將是真棒。

謝謝!

+0

'@Zain':我有同樣的問題。如果您有任何變通或提出問題的解決方案,請與我分享。這對我和其他未來環顧四周的人來說都將是充分的幫助。 – Manigandan

回答

0
java.lang.NoClassDefFoundError: cucumber/io/ResourceLoader 

此異常意味着該類cucumber.io.ResourceLoader沒有在你的項目的類路徑中找到。嘗試按照這個eclipse documentation將cucumber-core.jar添加到項目的類路徑中。

+0

好吧,讓我檢查與黃瓜core.jar – Zain

+0

阿里HAMDI :::沒有幫助:( – Zain

0

如果您可以讓我們知道您在項目中引用了哪些庫,它將會有所幫助。 cucumber-core被引用cucumber-java。所以如果你有cucumber-java,你不需要在你的課程路徑中有cucumber-core。看看你的代碼,我注意到你使用@Cucumber.Options。這在最新版本中已被棄用,因此看起來您並未使用最新版本。嘗試使用cucumber 1.1.5 jars

還有什麼理由你不使用maven? Maven應該讓這些事情變得更容易。

相關問題