Подтвердить что ты не робот

Java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing in Intellij

Я использовал издание Intellij Idea 12 Community. Я пытаюсь создать тестовый пример для своего класса, создав тестовый пример. Когда я запускаю свой тестовый пример, он говорит

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

Как запустить тестовый пример в Intellij. Я включил jar файл junit4.11 в свой модуль

4b9b3361

Ответ 1

Вы включили файл hamcrest-core-1.3.jar в свой путь к классам? Если это не включено, включите эту банку и попробуйте еще раз.

Ответ 2

Добавьте junit.jar в зависимость от проекта. вам также может потребоваться добавить hamcrest.jar.

Откройте файл- > Структура проекта, нажмите "Модули- > " Зависимости ", добавьте junit.jar.

Ответ 3

Если вы столкнетесь с этим (и несколькими другими потоками) этой ошибки и добавлением jar в зависимости не работает, вам нужно будет добавить к общей траектории класса java.

Я столкнулся с этой ошибкой в ​​OSX, где maven загрузил зависимость, но не нашел ее в режиме fork.

Добавление всех баннеров hamcrest в библиотеку /Java/Extensions, наконец, устранило проблему, когда ничего не было.

Ответ 4

Последняя версия hamcrest-all доступна по адресу: https://search.maven.org/search?q=a:hamcrest-all

Загрузите эту версию (в отличие от ядра hamcrest), и она должна это сделать.