在类路径中使用通配符调用java失败

时间:2011-05-30 17:44:52

标签: java classpath

我在当前目录中有一些jar,都需要在类路径中,所以我想使用classpath的通配符约定。命令行是:

java.exe -classpath * org.python.util.jython args

但是我收到此错误

Exception in thread "main" java.lang.NoClassDefFoundError: G:/repo/builds/jars/edu_mines_jtk/jar
Caused by: java.lang.ClassNotFoundException: G:.repo.builds.jars.edu_mines_jtk.jar
        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)
Could not find the main class: G:/repo/builds/jars/edu_mines_jtk.jar.  Program will exit.

如果我手动展开通配符,请使用

java.exe -classpath edu_mines_jtk.jar;ij.jar;jython.jar;more-jars org.python.util.jython [args]

然后按预期工作。

我的通配符出了什么问题?

JRE 1.6.25 for Win7 64 bit

1 个答案:

答案 0 :(得分:5)

我发现它,在Windows下引用通配类路径是必需的。

但如果明确指定jar,则不需要,解释第二个命令的工作原理。

怪异。