java.lang.NoClassDefFoundError: org/hamcrest/TypeSafeDiagnosingMatcher

本文将介绍 java.lang.NoClassDefFoundError: org/hamcrest/TypeSafeDiagnosingMatcher 异常解决办法。

在学习 JMock 的时候,执行代码抛出了如下错误信息:

Exception in thread "main" java.lang.NoClassDefFoundError: org/hamcrest/TypeSafeDiagnosingMatcher

    at java.lang.ClassLoader.defineClass1(Native Method)

    at java.lang.ClassLoader.defineClass(ClassLoader.java:760)

    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)

    at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)

    at java.net.URLClassLoader.access$100(URLClassLoader.java:73)

    at java.net.URLClassLoader$1.run(URLClassLoader.java:368)

    at java.net.URLClassLoader$1.run(URLClassLoader.java:362)

    at java.security.AccessController.doPrivileged(Native Method)

    at java.net.URLClassLoader.findClass(URLClassLoader.java:361)

    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)

    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)

    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

    at org.jmock.internal.InvocationExpectationBuilder.createExpectationFrom(InvocationExpectationBuilder.java:88)

    at org.jmock.internal.InvocationToExpectationTranslator.invoke(InvocationToExpectationTranslator.java:19)

    at org.jmock.internal.FakeObjectMethods.invoke(FakeObjectMethods.java:38)

    at org.jmock.lib.JavaReflectionImposteriser$1.invoke(JavaReflectionImposteriser.java:33)

    at com.sun.proxy.$Proxy1.getUserInfo(Unknown Source)

    at com.huangx.jmock.Client$1.<init>(Client.java:25)

    at com.huangx.jmock.Client.main(Client.java:22)

Caused by: java.lang.ClassNotFoundException: org.hamcrest.TypeSafeDiagnosingMatcher

    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)

    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)

    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)

    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

    ... 19 more

解决办法:

进入到 JMock 的官网 https://jmock.org/getting-started.html ,你会发现 JMock 需要的依赖如下:

java.lang.NoClassDefFoundError: org/hamcrest/TypeSafeDiagnosingMatcher

为了解决上面的问题,你需要检查自己是否引入了这些依赖。我这里遇到的问题就是没有引入 hamcrest 依赖,添加依赖如下:

<dependency>
    <groupId>org.hamcrest</groupId>
    <artifactId>hamcrest-core</artifactId>
    <version>1.3</version>
</dependency>
<dependency>
    <groupId>org.hamcrest</groupId>
    <artifactId>hamcrest-library</artifactId>
    <version>1.3</version>
</dependency>
生活总会给你答案的,但不会马上把一切都告诉你。只要你肯等一等,生活的美好,总在你不经意的时候,盛装莅临。
0 不喜欢
说说我的看法 -
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号