0

我想解析以下格式的命令:mycmd source dest.

如果找不到源或目标,我希望解析器失败。如何使用Apache Commons CLI将尾随 args 定义为选项的一部分?

我找不到办法。我有一种感觉,这是做不到的。如果可以定义尾随 args,我就不需要手动将它们添加到帮助中 - 如本解决方案中所述。

4

1 回答 1

1

Commons-cli 目前不支持对尾随参数的特殊处理。您现在需要自己解析尾随参数,即使用以下内容:

    String[] trailing = cmdLine.getArgs();
    if(trailing.length < 2) {
        throw new IllegalArgumentException("Need at least 3 arguments <src> [<src> ...] <dest>");
    }
    String dest = trailing[trailing.length-1];
    String[] sources = Arrays.copyOf(trailing, trailing.length-1);
于 2015-05-06T06:15:33.833 回答