一. common-cli是命令行工具包:包括三个阶段:
1. 定义命令行选项
2. 解析命令行选项
3.解释命令行选项
二. 定义阶段:
Options类是Option类的集合
解析阶段:
CommandLineParser类为命令行解析类,解析返回CommandLine类
解释阶段:
查询CommandLine根据不同组合进行不同分支处理
三. 例子:
// create the command line parser
CommandLineParser parser = new PosixParser();
// create the Options
Options options = new Options();
options.addOption( "a", "all", false, "do not hide entries starting with ." );
options.addOption( "A", "almost-all", false, "do not list implied . and .." );
options.addOption( "b", "escape", false, "print octal escapes for nongraphic "
+ "characters" );
options.addOption( OptionBuilder.withLongOpt( "block-size" )
.withDescription( "use SIZE-byte blocks" )
.withValueSeparator( '=' )
.hasArg()
.create() );
options.addOption( "B", "ignore-backups", false, "do not list implied entried "
+ "ending with ~");
options.addOption( "c", false, "with -lt: sort by, and show, ctime (time of last "
+ "modification of file status information) with "
+ "-l:show ctime and sort by name otherwise: sort "
+ "by ctime" );
options.addOption( "C", false, "list entries by columns" );
String[] args = new String[]{ "--block-size=10" };
try {
// parse the command line arguments
CommandLine line = parser.parse( options, args );
// validate that block-size has been set
if( line.hasOption( "block-size" ) ) {
// print the value of block-size
System.out.println( line.getOptionValue( "block-size" ) );
}
}
catch( ParseException exp ) {
System.out.println( "Unexpected exception:" + exp.getMessage() );
}四. 自动生成帮助声明:
// automatically generate the help statement
HelpFormatter formatter = new HelpFormatter();
formatter.printHelp( "ant", options );
打印出来信息:
usage: ant
-D <property=value> use value for given property
-buildfile <file> use given buildfile
-debug print debugging information
-emacs produce logging information without adornments
-file <file> search for buildfile towards the root of the
filesystem and use it
-help print this message
-listener <classname> add an instance of class as a project listener
-logger <classname> the class which it to perform logging
-projecthelp print project help information
-quiet be extra quiet
-verbose be extra verbose
-version print the version information and exit
博客介绍了common-cli命令行工具包,包含定义、解析、解释三个阶段。定义阶段Options类是Option类集合;解析阶段用CommandLineParser类解析返回CommandLine类;解释阶段查询CommandLine进行分支处理,还给出自动生成帮助声明的示例。
2868

被折叠的 条评论
为什么被折叠?



