При запуске junit
теста eclipse
я получаю следующее Exception
:
java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing
Я добавил junit.jar
файл библиотеки.
Я пробовал разные версии junit.jar: 4.4
, 4.8
и т.д.
Как мне исправить это исключение?
junit.jar
не имеет отношения к проблемеharcrest
банке такая же иерархия? как вorg > hamcrest > SelfDescribing
, или это в корневой папке баночки?Ответы:
Добавьте
hamcrest-all-X.X.jar
в свой путь к классам .Последняя версия по состоянию на февраль 2015 г. - 1.3: http://code.google.com/p/hamcrest/downloads/detail?name=hamcrest-all-1.3.jar&can=2&q=
источник
hamcrest-all-X.X.jar
достаточно, пока намного меньше.Согласно веб-сайту группы JUnit GitHub ( https://github.com/junit-team/junit/wiki/Download-and-Install ),
junit.jar
иhamcrest-core.jar
оба они необходимы в пути к классам при использовании JUnit 4.11.Вот блок зависимостей Maven для включения junit и hamcrest.
источник
Вам необходимо выполнить несколько шагов:
источник
У меня работает: IntelliJ IDEA 13.1.1, JUnit4, Java 6
Я изменил файл в пути к проекту: [PROJECT_NAME] .iml
Заменены:
По:
Итак, последний файл .iml:
PS: сохраните файл и не позволяйте IntelliJ Idea перезагружать его. Только раз.
источник
Вам нужен junit-dep.jar, потому что в junit.jar есть копия старых классов Hamcrest.
источник
Эта проблема возникает из-за пропуска вашего пути к классам hamcrest-core-1.3.jar. Чтобы решить эту проблему, добавьте hamcrest-core-1.3.jar при добавлении junit-4.XX.jar в путь к классам.
Сначала я тоже сталкиваюсь с этой проблемой, но после того, как я обращусь к официальному сайту и добавлю hamcrest-core-1.3.jar в путь к классам с помощью командной строки, он наконец-то заработает правильно.
источник
Как правило, всегда убедитесь, что hamcrest находится перед любыми другими тестовыми библиотеками в пути к классам, поскольку многие такие библиотеки включают классы hamcrest и поэтому могут конфликтовать с версией hamcrest, которую вы используете. Это решит большинство проблем описываемого вами типа.
источник
На всякий случай, если кто-то здесь использует netbeans и имеет ту же проблему, все, что вам нужно сделать, это
Это должно решить проблему
источник
Вам необходимо добавить JAR-файл hamcrest-core в путь к классам, как описано здесь: https://github.com/junit-team/junit4/wiki/Download-and-Install
источник
Это похоже на проблему с путями к классам, поэтому есть несколько способов решить эту проблему. Откуда взялось org / hamcret / SelfDescribing? Это твой класс или в другой банке?
Попробуйте перейти к пути сборки вашего проекта и на вкладке «Библиотеки» добавьте библиотеку. Вы должны иметь возможность выбрать JUnit для своего проекта. Это немного отличается от простого наличия jar-файла JUnit в вашем проекте.
В конфигурации запуска для теста JUnit проверьте путь к классам. Вероятно, вы могли бы исправить это, добавив, чтобы ваш Classpath мог видеть этот класс SelfDescribing. Параметр «Выполнить» в Eclipse имеет другой набор параметров для параметров JUnit.
источник
Если эта проблема возникает в проекте RCP, это может быть потому, что JUnit был явно импортирован.
Найдите в редакторе свою
plugin.xml
нижнююDependencies
вкладку, удалитеorg.junit
из импортированных пакетов и добавьтеorg.junit
к обязательным подключаемым модулям.источник
Проблема в том, что вы настраиваете eclipse так, чтобы он указывал на JRE вместо JDK . JRE есть
junit4.jar
вlib/ext
папке, но нетhamcrest.jar
:) Итак, решение состоит в том, чтобы проверить установленные JRE в Eclipse, удалить существующий и создать новый, указывающий на ваш JDK .источник
Самый простой способ решить проблему - это скопировать последнюю версию hamcrest-code.jar в ваш CLASSPATH, то есть в файл, в котором вы храните другие файлы .jar, необходимые для компиляции и запуска вашего приложения.
это может быть, например: C: / ant / lib
источник
Это происходит, когда вы запускаете Ant через командную строку. Неявные пользовательские зависимости добавляются в путь к классам в конце и имеют приоритет над путем к классам, добавленным в проект. Запускаем Ant с
-nouserlib
флагом. Неявные зависимости будут исключены из пути к классам.источник
Есть лучший ответ для решения этой проблемы. добавить зависимость
источник
У меня была такая же проблема, решение - добавить в путь сборки / плагин jar org.hamcrest.core_1xx, вы можете найти его в eclipse / plugins.
источник
Вам необходимо выполнить несколько шагов:
Это работает для меня ...
источник