【发布时间】:2018-06-20 16:43:39
【问题描述】:
我正在通过以下方式为解析器添加选项:
options = new Options()
.addOption(Option.builder(CONFIG_PARAM)
.required()
.hasArg(true)
.argName(CONFIG_PARAM_NAME + "_path")
.desc(CONFIG_PARAM_DESC)
.longOpt(CONFIG_PARAM_NAME)
.build())
(...)
.addOption(Option.builder(HELP_PARAM)
.hasArg(false)
.longOpt(HELP_PARAM_NAME)
.desc(HELP_PARAM_DESC)
.build());
现在,我想允许用户只使用帮助命令,例如。
mypreciousapp --help
使用上述解决方案,这是不可能的 - 我收到有关缺少必需参数的信息
Missing required options: c
有没有办法标记帮助参数,以便它可以覆盖所需的参数,并允许单独使用它?我可以手动执行此操作,但首先我想知道 CLI 库中是否有这样的选项。
【问题讨论】:
-
您可以尝试添加一个 OptionGroup 来表示一组独占选项(仅允许该组中的一个选项存在)并将所有需要的选项放入该组中(包括
-help)。
标签: java command-line-interface apache-commons apache-commons-cli