我需要帮助选项(-h)和其他两个必需选项(-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;
}
但是当我尝试在不提供必需参数的情况下解析args时,我收到了MissingOptionException。我正在寻找一种方法,只能传入-h并且只能打印出帮助。
答案 0 :(得分:0)
我预先解析命令行寻找帮助:
if ((args.length > 0) && (args[0].matches("^\\s*[-/]{0,2}[Hh](?i:elp)\\s*$"))) {
usage();
}
我还在命令行的任何地方查找-help
,这样如果我忘记某些内容是-debug
还是-dbg
,我就可以将其添加到部分命令行的末尾