jUnit版本为4.11时运行报:
java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$000(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClassInternal(Unknown Source) at org.junit.internal.builders.JUnit4Builder.runnerForClass(JUnit4Builder.java:13) 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.junit.internal.requests.FilterRequest.getRunner(FilterRequest.java:34) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.<init>(JUnit4TestReference.java:29) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestMethodReference.<init>(JUnit4TestMethodReference.java:25) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:41) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:30) 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: org.hamcrest.SelfDescribing at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivi at java.lang.ClassLoader.loadClassInternal(Unknown Source) ... 26 more
原因是 Starting with version 4.11, Hamcrest is no longer included in this jar.
解决办法:换个版本的JUnit即可 。
相关推荐
Junit-4.11和Hamcrest-Core-1.3是两个关键的Java单元测试工具,广泛应用于Java项目的测试场景。 **Junit-4.11** 是JUnit库的一个版本,一个流行的开源测试框架,特别设计用于Java编程语言。JUnit提供了一种结构化的...
使用新版本的junit运行时报错,是因为原来在junit包中得hamcrest模块被单独抽出来了,解决方法是在项目中导入hamcrest-core-1.1.jar hamcrest-library-1.1.jar这两个包。这里提供了hamcrest-core-1.1.jar和hamcrest-...
junit4单元测试报错:method initializationerror not found 缺少jar包导致,总共需要三个jar包:junit-4.11.jar,hamcrest-core-1.3.rc2.jar,hamcrest-library-1.3.rc2.jar,都在压缩包里了。
Junit,或者报错 java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing”。这是因为 Junit 4.11 以上版本不再包含 hamcrest,所以如果使用 Junit 4.11 以上版本就需要导入 hamcrest,或者降到 Junit 4.10 ...
- 如遇到 index.jsp 报错,则需在 POM 文件中添加 servlet API 依赖: ```xml <groupId>javax.servlet <artifactId>javax.servlet-api <version>3.1.0 ``` - 如果项目缺少某些目录结构,可手动添加相应的...