【发布时间】:2016-02-25 18:53:28
【问题描述】:
我曾经使用 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 的解决方案: Can Apache Commons CLI options parser ignore unknown command-line options?
这对我来说在 1.2 上运行良好,在 1.3.1 上也运行良好。但它已被弃用。我使用的解析器被DefaultParser 取代。查了一下功能,没有processOptions这样的方法。
我真的很想使用不会在以后的版本中删除的代码。有谁知道如何解决这个问题?
【问题讨论】:
-
问的问题是插件上的旧版本,我什至在引用它,那么这怎么是重复的?
-
我投票支持重新开放,因为该问题明确要求采用一种不被弃用的方式来解决问题。
标签: java apache-commons apache-commons-cli