我在当前目录中有一些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
答案 0 :(得分:5)
我发现它,在Windows下引用通配类路径是必需的。
但如果明确指定jar,则不需要,解释第二个命令的工作原理。
怪异。