junit使用过程中报错:java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivil
本文转自:https://www.cnblogs.com/anny0404/p/5275595.html
在原作者的基础上进行部分添加,也很感谢原作者这篇博文,帮我分析与解决问题!
原文:
下载了最新的JUnit版本,是4.12,结果尝试使用发现总是报java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing这样的错误,
上网查了一下,一般的解决方案是,换一个低一点的版本就好了。还有人说,是缺少hamcrest的包。去官网又看了一下,结果发现这样一段话:
junit.jar: Includes the Hamcrest classes. The simple all-in-one solution to get started quickly.Starting with version 4.11, Hamcrest is no longer included in this jar.
junit-dep.jar: Only includes the JUnit classes but not Hamcrest. Lets you use a different Hamcrest version.
注意黑色加下划线的部分。说明4.1.2中没有hamcrest包了,不知道作者是怎么想的。
最好的解决方法是:
(1)换成junit-4.8.jar
(2)junit-4.12.jar + hamcrest-core-1.3.jar
下载链接:
新增:
本人使用的是junit-4.1.1版本,报错,然后下载了hamcrest-core-1.3.jar,包,导入项目后正常运行,下面是测试案例:
以上是没有增加hamcrest-core-1.3.jar包,接下来加入该包:
到此,问题解决!
posted on
2018-12-08 17:16
在等风来的日子
阅读(458)
评论(0)
编辑
收藏