以下是使用 Apache Commons CLI 来定义每个选项是都具有的属性。所有这些属性都可以使用访问器或使用 OptionBuilder 中定义的方法来设置。
名称:opt
类型:java.lang.String
描述:选项的标识字符串,即这个选项在使用时我们输入的参数名。
示例:下面是 Ant 命令的部分帮助信息:
ant [options] [target [target2 [target3] ...]] Options: -help print this message -projecthelp print project help information
其中,help 和 projecthelp 就是选项标识字符串,即 opt 的值。
名称:longOpt
类型:java.lang.String
描述:选项标识的别名和更具描述性的标识字符串。
示例:下面是 Linux/Unix 中的 ls 命令,部分命令帮助信息:
Usage: ls [OPTION]... [FILE]... List information about the FILEs (the current directory by default). Sort entries alphabetically if none of -cftuSUX nor --sort. -a, --all do not hide entries starting with . -A, --almost-all do not list implied . and ..
其中,all 和 almost-all 选项是 a 和 A 选项的长选项(longOpt)
名称:description
类型:java.lang.String
描述:选项功能的描述
示例:下面是 Linux/Unix 中的 ls 命令,部分命令帮助信息:
Usage: ls [OPTION]... [FILE]... List information about the FILEs (the current directory by default). Sort entries alphabetically if none of -cftuSUX nor --sort. -a, --all do not hide entries starting with . -A, --almost-all do not list implied . and ..
其中,“do not list implied . and ..” 就是选项的描述信息
名称:required
类型:boolean
描述:一个标志,表示该选项是否必须出现在命令行上。
名称:arg
类型:boolean
描述:一个标志,表示该选项是否接受一个参数。
名称:args
类型:boolean
描述:一个标志,表明该选项是否需要多个参数。
名称:optionalArg
类型:boolean
描述:一个标志来说明选项的参数是否是可选的。
名称:argName
类型:java.lang.String
描述:用法声明的参数值的名称
名称:valueSeparator
类型:char
描述:用于拆分参数字符串的字符值,与 multipleArgs 结合使用,例如:如果分隔符是 ',' 并且参数字符串是 'a,b,c' 则有三个参数值,'a'、'b' 和 'c'。
名称:type
类型:java.lang.Object
描述:参数的类型
名称:value
类型:java.lang.String
描述:选项的值
名称:values
类型:java.lang.String[]
描述:选项的值,值是一个数组,可以拥有多个。