如何使用jcommander打印帮助?
我找不到这个API。
答案 0 :(得分:33)
找到这个小片段以显示应用程序帮助。简单易懂是在一堂课中完成的。
public class JCommanderExample {
@Parameter(names = "-debug", description = "Debug mode")
private boolean debug = false;
@Parameter(names = "--help", help = true)
private boolean help = false;
public static void main(String[] args) {
JCommanderExample jct = new JCommanderExample();
JCommander jCommander = new JCommander(jct, args);
jCommander.setProgramName("JCommanderExample");
if (jct.help) {
jCommander.usage();
return;
}
System.out.println("your logic goes here");
}
}
如果您使用参数--help
运行代码段,则输出将为
Usage: JCommanderExample [options]
Options:
--help
Default: false
-debug
Debug mode
Default: false
答案 1 :(得分:3)
使用较新版本的JCommander,您需要创建JCommander的实例化。
例如主要是:
public class Usage {
public static void main(String...argv) {
Args args = new Args();
JCommander jct = JCommander.newBuilder().addObject(args).build();
jct.parse(argv);
if (args.isHelp()) {
jct.usage();
}
}
}
具有类似的Args类(如果您未在Main中定义参数):
import com.beust.jcommander.Parameter;
import com.beust.jcommander.Parameters;
public class Args {
@Parameter(names = { "--help", "-h" }, help = true)
private boolean help = false;
public boolean isHelp() {
return help;
}
}