我有一个带有大量参数的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[] args
中main()
的内容:
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"
?
答案 0 :(得分:1)
由于这个原因和类似的原因,这个对话框一直存在问题。
您可以在该对话框中转义的唯一字符是双引号字符。您可以尝试在
中转义双引号-match \"*.xml\"
并查看是否可以正确传入“* .xml”,尽管上面有引号。
除此之外,我认为您必须支持在代码中转换为正确语法的替代语法。