0

ヘルプ オプション (-h) と他の 2 つの必須オプション (-u、-p) を共存させる必要があります。

private static Options buildOptions() {
    Options options = new Options();

    Option help = new Option("h", "help", false, "print this message");     

    Option user = OptionBuilder.hasArg()
                .isRequired(true)
                .withArgName("username")                   
                .withDescription("use given user name for login")
                .withLongOpt("user")
                .create("u");

    Option pass = OptionBuilder.hasArg()
            .isRequired(true)
            .withArgName("password")                   
            .withDescription("use given password for login")
            .withLongOpt("pass")
            .create("p");

    options.addOption(help);
    options.addOption(user);
    options.addOption(pass);
    return options;
}

しかし、必須パラメーターを指定せずに引数を解析しようとすると、MissingOptionException が発生します。-h のみを渡して、ヘルプのみを出力できる方法を探しています。

4

1 に答える 1

0

ヘルプを探してコマンド ラインを事前解析します。

if ((args.length > 0) && (args[0].matches("^\\s*[-/]{0,2}[Hh](?i:elp)\\s*$"))) {
    usage();
}

また、コマンド ラインの任意の場所を探して、何かがまたは-helpであるかどうかを忘れた場合に、部分的なコマンド ラインの最後に追加するだけで使用できるようにします。-debug-dbg

于 2013-11-05T22:59:00.437 に答える