我执行java -classpath .;C:\libtest\log4j-1.2.15.jar;C:\devtool\eclipse\plugins\org.junit_4.8.2.v4_8_2_v20110321-1705\*.jar; org.junit.runner.JUnitCore com.xu.MyClass 在我的 junit 测试中执行所有方法。
但它不起作用。它在下面报告错误。
Exception in thread "main" java.lang.NoClassDefFoundError: org/junit/runner/JU
tCore
Caused by: java.lang.ClassNotFoundException: org.junit.runner.JUnitCore
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:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Could not find the main class: org.junit.runner.JUnitCore. Program will exit.
但是目录 C:\devtool\eclipse\plugins\org.junit_4.8.2.v4_8_2_v20110321-1705 包含具有此类的 junit.jar。为什么会发生这种情况?
如果我执行java -classpath .;C:\libtest\log4j-1.2.15.jar;C:\devtool\eclipse\plugins\org.junit_4.8.2.v4_8_2_v20110321-1705\junit.jar;org.junit.runner.JUnitCore com.xu.MyClass。
有用。
我参考 java 命令中的文档。
-classpath <class search path of directories and zip/jar files>
A ; separated list of directories, JAR archives,
and ZIP archives to search for class files.