为什么java -cp无法搜索目录的.jar?

时间:2013-04-26 02:08:58

标签: java classpath

我执行 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.

1 个答案:

答案 0 :(得分:1)

如果你想使用通配符(*),我想你应该把你的条目包含在windows中的“”和unix中的''中。还要记住,只有在Java 6

之后才支持使用通配符