2010-06-09 157 views
10

我正在使用Windows PC並在其上安裝了cygwin! 我已經把我的所有罐子放在一個目錄下的幾個目錄下! 我寫一個bash腳本通過被作爲參數傳遞的目錄遍歷設置CLASSPATH如下: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之後被分割。

有人可以幫我解決這個問題嗎?

回答

10

看到這個article

你可以在你的classpath

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

在你的情況東西附上無論是在雙qoutes

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結束。