【发布时间】:2018-07-22 19:27:16
【问题描述】:
我的情况是一个选项的有效参数与另一个选项的名称相同。
例子:
options.addOption("a", true, "Option a");
options.addOption("b", false, "Option b");
有效的用户输入:
foo -a -b 其中“-b”是选项 a 的参数。
到目前为止,我的代码给了我一个 MissingArgumentException。
有没有办法处理这种极端情况?
【问题讨论】:
-
commons-cli 的 DefaultParser 目前通过以下行中的 "!isArgument()" 调用明确阻止了这种情况:
else if (currentOption != null && currentOption.acceptsArg() && isArgument(token))