Пробелы в ПУТИ К КЛАССУ

Я работаю над Windows PC и имею cygwin на нем! Я организовал все свои банки в соответствии с каталогом в рамках нескольких каталогов! Я пишу a 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 не найден, потому что переменная ПУТИ К КЛАССУ становится разделенной после /cygdrive/c/Documents.

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

11
задан skaffman 9 June 2010 в 07:34
поделиться

1 ответ

См. эту статью.

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

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

или каждый jar в вашем classpath

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

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

11
ответ дан 3 December 2019 в 09:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: