如何定义尾随args作为选项的一部分?

时间:2015-05-05 06:41:41

标签: java apache-commons-cli

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

如果找不到source或dest,我希望解析器失败。如何使用Apache Commons CLI

将尾随参数定义为选项的一部分

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

1 个答案:

答案 0 :(得分: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);