2011-02-18 23 views
0

當我試圖此參數Proguard的,它拋出此異常:問題在Proguard的參數調用路徑配有空間

的java -Xms128m -Xmx256M -jar」 ../../../tools/程序文件/ Java/jdk1.5.0_22/jre/lib/rt.jar「 錯誤:期望類路徑分隔符';'之前'文件/ Java/jdk1.5.0_22/jre/lib/rt.jar在參數編號3

這是由於文件名中的空間,我知道這一點。我嘗試過使用「和」的各種解決方法,但唯一可行的是當我在路徑中使用progra〜1時 這對我來說不是一個可行的解決方案,因爲這個命令應該能夠運行很多?不同的計算機與不同路徑的Java

我在做什麼錯

回答

1

爲了方便起見,ProGuard的接受任意組合的命令行參數,使用shell報價,如:

java -jar proguard.jar "-keep public class * { public <methods>; }" 

shell對參數進行分組並且吞噬引號。因此,包含空格的文件名必須被引用一次例如,使用不同的引號:

java -jar proguard.jar "-injars 'some input.jar'" 

配置文件中的選項不存在此雙引號問題。

該問題在ProGuard manual中提及。

+0

究竟是什麼錯誤。圍繞文件名稱的引號有訣竅。 – 2011-02-22 11:11:18