Java 类路径中的空格

Java 类路径中的空格,java,cygwin,classpath,Java,Cygwin,Classpath,我在Windows PC上工作,有cygwin在上面! 我把我所有的JAR都组织在几个目录中的一个目录下! 我正在编写一个bash脚本,通过遍历作为参数传递的目录来设置CLASSPATH,如下所示: for JAR_FILE in `ls *.jar` do CLASSPATH="$DIRECTORY_TO_LOOK_FOR_JARS"/$JAR_FILE:$CLASSPATH done 每当目录中有空格被传递时,如/cygdrive/c/Documents and Settings/

我在Windows PC上工作,有cygwin在上面! 我把我所有的JAR都组织在几个目录中的一个目录下! 我正在编写一个
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
,它就会抛出一个错误,指出找不到类
,因为CLASSPATH变量在
/cygdrive/c/Documents
之后被拆分

有人能帮我解决这个问题吗?

看看这个

您可以将完整的类路径包含在双qoutes中

java -classpath "C:/Documents and Settings/user/project/lib/axis.jar; C:/Documents and Settings/user/project/lib/axis-ant.jar;" TestClient
或者类路径中的每个jar

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