Eclipse调试配置,程序参数问题

时间:2014-02-27 02:49:13

标签: java eclipse

我有一个带有大量参数的java程序。其中一个参数意味着是一个文件glob,我希望在没有插值的情况下为程序提供(按原样)。

例如:s3sync -match '*.xml{,.gz}' ...

从命令行可以很好地工作。 s3sync本身是一个最小的shell脚本,它设置了一些环境变量,最后是:

$EXEC java $DEBUG $MEMORY -cp "$CLASSPATH" com.my.packages.S3Sync "$@"

但是,当我从Eclipse Debug Configuration尝试我的代码时,我无法告诉Eclipse NOT插入那个arg。以下是我尝试过的内容,以及String[] argsmain()的内容:

in Program Arguments     what it becomes in main(String[] args)
-match '*.xml'           String[]{"-match", "'*.xml'"}
-match *.xml             String[]{"-match", "build.xml", "ivy.xml", ...}
-match "*.xml"           String[]{"-match", "build.xml", "ivy.xml", ...}
-match \*.xml            String[]{"-match", "\\*.xml"}

有什么想法吗?如何在Eclipse Debug Configurations>中编写参数?程序参数,以便arg[]"*.xml"

1 个答案:

答案 0 :(得分:1)

由于这个原因和类似的原因,这个对话框一直存在问题。

您可以在该对话框中转义的唯一字符是双引号字符。您可以尝试在

中转义双引号
-match \"*.xml\"

并查看是否可以正确传入“* .xml”,尽管上面有引号。

除此之外,我认为您必须支持在代码中转换为正确语法的替代语法。