Eclipse运行配置中的通配符扩展

crl*_*ane 9 java eclipse command-line glob wildcard

有没有办法让Eclipse在运行配置参数中扩展通配符?我的类可以处理传递给的命令行参数main(String[] args).从普通shell(我的系统上的bash),它很简单:

$java MyClass file*.txt
Run Code Online (Sandbox Code Playgroud)

这将运行我的类,其中包含工作目录中的所有文件,这些文件以命令行参数的形式提供file并以结尾的形式.txt提供.

我想在eclipse中有相同的行为,但是当我进入file*.txt运行配置编辑器并运行程序时,通配符不会扩展.而不是文件列表,唯一识别的arg是文字字符串file*.txt.

这个线程让我相信它是可能的或者曾经是可能的(至少在Windows上 - 我运行的是Mac OS X 10.6.8),但那些人正在遇到相反的问题,即通配符被扩展,即使这种行为不是通缉.

在尝试解决这个问题时,我尝试使用不同的环境变量(即$ {string_prompt},更改工作目录,查看Eclipse首选项和文档,并搜索相关的短语,但没有任何工作.任何建议或相关链接信息将不胜感激.

Eri*_*ire 4

这似乎是 Eclipse 中所需的行为。事实上,Windows 中的通配符扩展被认为是一个错误

相比之下,bash 中所需的行为正是您所期望的,但 Java(以及您的程序)对此一无所知。

如果您希望您的程序更加智能并扩展通配符,您可以使用Apache Commons IOWildcardFileFilter库的一部分。

更好的是:您可以编写一个支持命令行扩展的 Eclipse 插件。如果您这样做,请分享!;)