Пробелы в CLASSPATH - PullRequest
       25

Пробелы в CLASSPATH

11 голосов
/ 09 июня 2010

Я работаю на ПК с Windows и у меня есть Cygwin! Я организовал все мои банки в каталоге в нескольких каталогах! Я пишу сценарий bash для установки CLASSPATH путем итерации по каталогу, который передается в качестве параметра, следующим образом:

for JAR_FILE in `ls *.jar`
do
    CLASSPATH="$DIRECTORY_TO_LOOK_FOR_JARS"/$JAR_FILE:$CLASSPATH
done

Всякий раз, когда в каталоге есть пробелы, такие как /cygdrive/c/Documents and Settings/user/My Jars, и я запускаю java -cp $CLASSPATH somepackage.someclass, он выдает ошибку о том, что класс and не найден, поскольку переменная CLASSPATH разделяется после /cygdrive/c/Documents .

Может кто-нибудь помочь мне решить эту проблему?

1 Ответ

11 голосов
/ 09 июня 2010

См. статью .

Вы можете заключить либо полный путь к классу в двойные qoutes

java -classpath "C:/Documents and Settings/user/project/lib/axis.jar; C:/Documents and Settings/user/project/lib/axis-ant.jar;" TestClient

или каждая банка в вашем классе

java -classpath "C:/Documents and Settings/user/project/lib/axis.jar"; "C:/Documents and Settings/user/project/lib/axis-ant.jar;" TestClient

В вашем случае что-то подобное:

for JAR_FILE in `ls *.jar`
do
    CLASSPATH="$DIRECTORY_TO_LOOK_FOR_JARS/$JAR_FILE":$CLASSPATH
done

Трудно увидеть, но я переместил закрывающую двойную цитату.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...