簡體   English   中英

Eclipse中的Junit測試失敗,出現java.lang.NoClassDefFoundError:org / hamcrest / SelfDescribing

[英]Junit tests in Eclipse are failing with java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing

我的測試運行良好,但是隨后我不得不重新安裝Eclipse。 現在,即使是最簡單的測試也會失敗,並顯示以下錯誤:

java.lang.NoClassDefFoundError:org / hamcrest / SelfDescribing

我已經嘗試按照建議回答類似問題,但無法解決該錯誤。 我已將Junit庫添加到項目中,嘗試將junit-4.11.jar和junit-4.10.jar添加到類路徑中,並且嘗試將hamcrest-core-1.3.jar添加到類路徑中。

我在運行OS 10.9的Mac(Java版本為“ 1.6.0_65”)的Mac上使用Eclipse 4.3.2

這是來自Eclipse的跟蹤:

java.lang.NoClassDefFoundError:org / hamcrest / SelfDescribing位於java.lang.ClassLoader.defineClassCond(ClassLoader.java:637)上的java.lang.ClassLoader.defineClass1(本機方法)at java.lang.ClassLoader.defineClass(ClassLoader.java :621),位於java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141),位於java.net.URLClassLoader.defineClass(URLClassLoader.java:283),位於java.net.URLClassLoader.access $ 000(URLClassLoader.java:58),位於位於sun.misc.Launcher $ ExtClassLoader處的java.net.URLClassLoader $ 1.run(URLClassLoader.java:197)在java.security.AccessController.doPrivileged(本機方法)在java.net.URLClassLoader.findClass(URLClassLoader.java:190) org.junit.internal.builders.JUnit4Builder上的java.lang.ClassLoader.loadClass(ClassLoader.java:306)上的.findClass(Launcher.java:229)在java.lang.ClassLoader.loadClass(ClassLoader.java:247)上。 org.junit.runners.model.RunnerBuilder.safeRunnerRunner類(JUnit4Builder.java:10)org.junit.internal.builders.AllDef上的RunnerForClass(RunnerBuilder.java:59) org.org.junit.runners.model.RunnerBuilder.safeRunnerForclass(RunnerBuilder.java:59)(org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:26))上的aultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26) org.eclipse.jdt.internal上的.eclipse.jdt.internal.junit4.runner.JUnit4TestReference。(JUnit4TestReference.java:33)位於org.eclipse.jdt.internal.junit4.runner.JUnit4TestClassReference。(JUnit4TestClassReference.java:25) org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:38)上的.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:48)在org.eclipse.jdt.internal.junit.runner上org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)上的.RemoteTestRunner.runTests(RemoteTestRunner.java:452)在org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run (RemoteTestRunner.java:390)位於org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)由 :java.lang.ClassNotFoundException:org.hamcrest.SelfDescribing在java.net.URLClassLoader.findClass(URLClassLoader)上java.security.AccessController.doPrivileged(本機方法)處的java.net.URLClassLoader $ 1.run(URLClassLoader.java:202) .java:190),位於sun.misc.Launcher $ ExtClassLoader.findClass(Launcher.java:229),位於java.lang.ClassLoader.loadClass(ClassLoader.java:306),位於java.lang.ClassLoader.loadClass(ClassLoader.java: 247)...還有25個

有什么建議么?

謝謝

嘗試在classpath中添加hamcrest-all-1.3.jar

我可以通過確保運行配置在bootstrap類路徑中具有hamcrest-all-1.3.jar來解決我的問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM