java - 如何将尾随参数定义为选项的一部分?

标签 java apache-commons-cli

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

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

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

最佳答案

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);

关于java - 如何将尾随参数定义为选项的一部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30045881/

相关文章:

java - ExecutorService 在 JUnit 测试中不执行 Runnables

java - 为什么我们不同步 Web 服务?

java - Apache Common CLI 中带参数和不带参数的必需选项

java - Apache CLI : Required options contradicts with help option.

java - 使用 Apache commons cli 库尾随 args

java - 使用 commons-cli 创建子命令

java - 标有原型(prototype)范围的 Bean 在 Spring 中不起作用

java - Apache Wicket、OpenJPA 和 Spring/ROO

java - 在 Webclient Post 之前检测到空的 Flux 窗口

java - 在 Debian 上使用 Apache Commons CLI