Вызов java с подстановочными знаками в classpath не удался - PullRequest
8 голосов
/ 30 мая 2011

У меня есть несколько 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 для Win7 64 бит

1 Ответ

5 голосов
/ 30 мая 2011

Я нашел это, под Windows требуются кавычки вокруг подстановочного пути.

Но не требуется, если вы указываете jar явно, объясняя, почему работает вторая команда.

Weird.

...