首页 文章

Eclipse中的Junit测试失败了java.lang.NoClassDefFoundError:org / hamcrest / SelfDescribing

提问于
浏览
0

我的测试运行正常,但后来我不得不重新安装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版本为“1.6.0_65”的Mac上使用Eclipse 4.3.2

这是来自Eclipse的跟踪:

java.lang.NoClassDefFoundError:org / hamcrest / SelfDescribing at java.lang.ClassLoader.defineClass1(Native Method)at java.lang.ClassLoader.defineClassCond(ClassLoader.java:637)at java.lang.ClassLoader.defineClass(ClassLoader . java:621)java.net.URLC上的java.securityClassLoader.defineClass(SecureClassLoader.java:141)java.net.URLClassLoader.defineClass(URLClassLoader.java:283),java.net.URLClassLoader.access $ 000(URLClassLoader.java:58) at java.net.URLClassLoader $ 1.run(URLClassLoader.java:197)at java.security.AccessController.doPrivileged(Native Method)at java.net.URLClassLoader.findClass(URLClassLoader.java:190)at sun.misc.Launcher $位于org.junit.internal.builders.JUnit4Builder的java.lang.ClassLoader.loadClass(ClassLoader.java:247)的java.lang.ClassLoader.loadClass(ClassLoader.java:306)中的ExtClassLoader.findClass(Launcher.java:229) .runnerForClass(JUnit4Builder.java:10)org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)org.junit.internal.builders.AllD efaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26)org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:26)at org位于org.eclipse.jdt.internal的org.eclipse.jdt.internal.junit4.runner.JUnit4TestClassReference . (JUnit4TestClassReference.java:25)的.eclipse.jdt.internal.junit4.runner.JUnit4TestReference . (JUnit4TestReference.java:33) . org.eclipse.jdt.internal.junit.runner上的org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:38)中的.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:48) . 在org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run的org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)的.RemoteTestRunner.runTests(RemoteTestRunner.java:452) (RemoteTestRunner.java:390)org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) by:java.lang.ClassNotFoundException:org.hamcrest.SelfDescribe 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 sun.misc.Launcher $ ExtClassLoader.findClass(Launcher.java:229)at java.lang.ClassLoader.loadClass(ClassLoader.java:306)at java.lang.ClassLoader.loadClass(ClassLoader.java) :247)......还有25个

有什么建议?

谢谢

2 回答

  • 1

    尝试在类路径中添加hamcrest-all-1.3.jar

  • 0

    通过确保运行配置在bootstrap类路径中具有hamcrest-all-1.3.jar,我能够解决我的问题

相关问题