2010-06-09 9 views
10

Bir Windows PC üzerinde çalışıyorum ve üzerinde cygwin var! Tüm kavanozlarımı bir dizin içinde bir dizin altında organize ettim! aşağıdaki gibi ben bir parametre olarak geçirilir dizinde yineleme tarafından CLASSPATH ayarlamak için bir bash senaryoyu yazıyorum:CLASSPATH'daki Whitespaces

orada /cygdrive/c/Documents and Settings/user/My Jars gibi geçirilir dizinde alanlardır ve ben java -cp $CLASSPATH somepackage.someclass yayınladığınızda
for JAR_FILE in `ls *.jar` 
do 
    CLASSPATH="$DIRECTORY_TO_LOOK_FOR_JARS"/$JAR_FILE:$CLASSPATH 
done 

, onu CLASSPATH değişkeni /cygdrive/c/Documents'dan sonra ayrıldığından, and sınıfının bulunmadığını belirten bir hata atar.

Birisi bu sorunu çözmemde bana yardımcı olabilir mi?

cevap

10

Bkz. Bu article.

Böyle senin şey olursa Sınıfyolu

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

çift qoutes

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

tam sınıf yolunu ya da her kavanoz ya içine olabilir:

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

Sert için Gördün mü, ama kapanış çift qoute'u taşıdım.