我曾经使用 Apache Commons Cli 1.2。如果参数未知(未添加到选项对象),我希望解析器忽略它们。
示例(伪代码):
Options specialOptions;
specialOptions.addOption(null, "help", false, "shows help");
specialOptions.addOption(null, "version", false, "show version");
CommandLineParser parser = new DefaultParser();
CommandLine cmd = parser.parse(options, args); //no third argument, since i dont want the program to stop parsing.
// run program with args: --help --unknown --version
// program shall parse --help AND --version, but ignore --unknown
我使用了 Pascal Schäfer 的解决方案: Apache Commons CLI 选项解析器可以忽略未知的命令行选项吗?
这对我来说在 1.2 上很好用,在 1.3.1 上也很好用。但它已被弃用。我使用的解析器被替换为DefaultParser
. 我查了功能,但没有这样的方法processOptions
。
我真的很想使用不会在以后的版本中删除的代码。有谁知道如何解决这个问题?