我有一个需要一堆参数的 java 程序。这些参数之一是一个文件 glob,我希望在不进行插值的情况下将其提供给程序(按原样)。
例如:s3sync -match '*.xml{,.gz}' ...
这在命令行中工作得非常好。 s3sync 本身是一个最小的 shell 脚本,它设置一些环境变量,最终执行以下操作:
$EXEC java $DEBUG $MEMORY -cp "$CLASSPATH" com.my.packages.S3Sync "$@"
但是,当我尝试从 Eclipse 调试配置中编写代码时,我无法告诉 Eclipse 不要插入该参数。这是我尝试过的,以及 main()
中的 String[] args
内容:
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 调试配置 > 程序参数中编写参数以使 arg[]
为 "*.xml"
?
最佳答案
由于这个原因和类似的原因,此对话框存在问题。
在该对话框中唯一可以转义的字符是双引号字符。您可以尝试转义
中的双引号-match \"*.xml\"
看看是否可以正确传入“*.xml”,尽管上面有引号。
除此之外,我认为您必须支持替代语法,并将其转换为代码中的正确语法。
关于java - Eclipse 调试配置、程序参数问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22058039/