Я использую Win 7 и скачал Junit 4.13 и hamcrest 2.1 с https://github.com/junit-team/junit4/wiki/Загрузить и установить
и поместите их в папку с именем JUnit под C.
Я добавил переменную: JUNIT_HOME со значением C:\JUnit.
Я также добавил следующее в свой путь к классам:
%classpath%;.;C:\Program Files\Java\jre1.8.0_171\bin;%CLASSPATH%;
%JUNIT_HOME%\junit-4.13-beta-1;.; %JUNIT_HOME%\hamcrest-core-2.1.jar;
После https://github.com/junit-team/junit4/wiki/Начало работы, Я добавил java-файлы Calculator.java и CalculatorTest.java в папку моей практики.
Команда
javac -cp .;junit-4.13-beta-1.jar;hamcrest-core-2.1.jar CalculatorTest.java
выполняется успешно. Тем не менее, команда
java -cp .;junit-4.13-beta-1.jar;hamcrest-core-2.1.jar org.junit.runner.JUnitCore CalculatorTest
Сбой, выдавая сообщение об ошибке, например
Exception in thread "main" java.lang.NoClassDefFoundError:
org/hamcrest/SelfDescribing
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at org.junit.runner.Computer.getSuite(Computer.java:28)
at org.junit.runner.Request.classes(Request.java:77)
at org.junit.runner.JUnitCommandLineParseResult.createRequest(JUnitComma
ndLineParseResult.java:116)
at org.junit.runner.JUnitCore.runMain(JUnitCore.java:77)
at org.junit.runner.JUnitCore.main(JUnitCore.java:36)
Caused by: java.lang.ClassNotFoundException: org.hamcrest.SelfDescribing
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 17 more
Обратите внимание, что я проверил такие сообщения, как java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing, но они не помогли. Не могли бы вы помочь?





Правильная банка подколенного сухожилия - hamcrest-2.1.jar, а не hamcrest-core-2.1.jar. Вы можете скачать его с здесь.
В соответствии с упомянутым руководство предполагается, что вы загрузили jar-файлы в том же пакете, что и ваш проект:
Create a new folder junit-example and download the current junit-4.XX.jar from JUnit's release page and Hamcrest to this folder.
Если вы решили поставить кувшины отдельно, возможно, вам нужно соответствующим образом подправить командную строку, чтобы взять эти кувшины с %JUNIT_HOME%:
java -cp .;%JUNIT_HOME%\junit-4.13-beta-1.jar;%JUNIT_HOME%\hamcrest-core-2.1.jar org.junit.runner.JUnitCore CalculatorTest
Сегодня у меня было больше времени, и я поиграл с ним локально. Я смог воспроизвести его и нашел основную причину проблемы - неправильная банка подколенного сухожилия. Я обновил свой пост выше.
Спасибо. Я скопировал файлы jar из C:\JUnit в папку моей практики C:\Prac и выполнил предложенную вами команду. Это все еще дает мне ошибки. Я предполагал, что, поскольку я установил путь к классам, мне не нужно включать папки jar в C:\Prac. Но все равно выдает ошибки.