Apache Common CLI 用于开发命令行工具,可以实现命令参数的解析。
如果我们希望接收某个参数,需要按照这个方式进行构建。
方式一(通过OptionBuilder构建)、
- Option testOption = Option.builder("F")
- .longOpt("full")
- .argName("a string")
- .hasArg()
- .desc("the full path")
- .build();
代表可以接收一个-F或者也可以用--full来描述的参数,该参数的展示名称为a string,该参数需要一个值、该参数的描述是the full path
调用方式:testapp -F abc或者testapp --full abc
构建后,通过options.addOption(testOption)注册即可。
方式二(调用Option构造函数)、
options.addOption(new Option("H", "help", false, "help information"));
代表testapp -H或testapp --help可调用。
- DefaultParser cmdPaser = new DefaultParser();
- // 创建默认解析器
- CommandLine commandLine = cmdPaser.parse(options, args);
- // 传入构建好的options并产生CommandLine
- pid = commandLine.getOptionValue("P");
- // 获取-P的参数(同样也会获取到LongOpt)
- commandLine.hasOption("A")
- // 判断是否传入-A参数(同样也会获取到LongOpt)
调用HelpFormatter可以直接打印Options所需内容
- if (commandLine.hasOption("H")){
- HelpFormatter formatter = new HelpFormatter ();
- formatter.printHelp ("command: MyApp [options]", options);
- return;
- }