junit单元测试的java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing问题解决办法

来源:互联网 发布:李米的猜想知乎 编辑:程序博客网 时间:2024/06/07 13:27

用junit进行单元测试的时候,突然就出现了以下错误:

java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing    at java.lang.ClassLoader.defineClass1(Native Method)    at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)    at java.lang.ClassLoader.defineClass(ClassLoader.java:615)    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)    at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)    at 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 java.lang.ClassLoader.loadClass(ClassLoader.java:306)    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)    at org.junit.internal.builders.JUnit4Builder.runnerForClass(JUnit4Builder.java:10)    at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)    at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26)    at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)    at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:26)    at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:44)    at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:195)    at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:63)    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)Caused by: java.lang.ClassNotFoundException: org.hamcrest.SelfDescribing    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)    ... 25 more
出现错误的原因是使用的junit的jar包里面缺少hamcrest-core-*.jar包,下载该jar包,导入项目,问题自然就解决了。
0 0
原创粉丝点击