Apache Commons CLI选项解析器可以忽略未知的命令行选项吗?
2022-09-02 03:24:34
我正在编写一个Java应用程序,它采用命令行参数,这些参数是使用Apache Commons CLI和GnuParser处理的。出于不有趣的原因,我希望它默默地忽略未知的命令行选项,而不是抛出ParseException,但我看不到这样做的方法。我看到GnuParser.parse()上有一个stopAtNonOption布尔选项,但我想要的更像是忽略AtNonOption,它在遇到未知令牌后会继续处理选项。
我可以实现我自己的解析器来完成这项工作,但我感到惊讶的是,没有内置此功能,所以我想我会在走这条路之前检查一下。
我正在谈论的内容的示例代码:
try {
CommandLine commandLine = parser.parse(options, args);
// stopAtNonOption set to true (below) is also not what I want
// CommandLine commandLine = parser.parse(options, args, true);
} catch (ParseException e) {
LOG.error("error parsing arguments", e);
throw new RuntimeException(e);
}