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 不喜欢
说说我的看法 -
全部评论(
没有评论
关于
本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,请来信告知:hxstrive@outlook.com
公众号