我目前正在尝试提出一种构建命令行选项的方法,该方法在提供时可以采用一个必需的参数或第二个可选参数(除了必需的参数之外)。我试图使用阿帕奇公地CLI来实现这一点。
即我的程序 -a [整数]
myProgram -a "test" --> isValid myProgram -a "test" 2 --> also isValid
我试过:Option.builder("a").hasArg().numberOfArgs(2).optionalArg(true).build();
&
Option.builder("a").hasArg().numberOfArgs(2).build();
这两者都没有按预期工作。第一个示例使两个参数都是可选的,它允许传递违反要求的空参数。
第二个示例使这两个参数都成为必需参数,并且在仅提供字符串类型 arg 时失败。
我已经查看了commons cli的文档,但他们提供的用例没有涉及像这样的复杂案例,同样也没有从api文档中获得太多细节。
我希望程序在没有值的情况下提供 -a 时失败,但在提供 1 或 2 个参数时会成功,如前面所示。
慕盖茨4494581
慕娘9325324
青春有我
相关分类