在Proguard参数调用中的路径问题med空间

时间:2011-02-18 12:39:44

标签: proguard

当我向Proguard尝试此参数时,它会抛出此异常:

java -Xms128M -Xmx256M -jar“../../../tools/proguard/proguard.jar”@ game_specific.pro -libraryjars“C:/ Program Files / Java / jdk1.5.0_22 / jre / LIB / rt.jar的” 错误:期望类路径分隔符';'在参数编号3中的'Files / Java / jdk1.5.0_22 / jre / lib / rt.jar之前

这是由于文件名中的空格,我知道的很多。我已经尝试过使用“和”进行各种解决方案,但唯一有效的方法就是当我在路径中使用progra~1时。 这对我来说不是一个可行的解决方案,因为这个命令应该可以在许多不同的计算机上运行,​​并且具有各种Java路径。

我做错了什么?

1 个答案:

答案 0 :(得分:1)

为方便起见,ProGuard使用shell引号接受任意分组的命令行参数,例如:

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

shell对参数进行分组并吞噬引号。结果,必须再次引用包含空格的文件名,例如用不同的引号:

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

配置文件中的选项不存在此双引号问题。

ProGuard manual中提到了这个问题。