Commons CLI 定义选项的属性

CLI
本文将介绍 Apache Commons CLI 定义选项时支持的属性,以及每个属性的用途

以下是使用 Apache Commons CLI 来定义每个选项是都具有的属性。所有这些属性都可以使用访问器或使用 OptionBuilder 中定义的方法来设置。

opt

名称:opt

类型:java.lang.String

描述:选项的标识字符串,即这个选项在使用时我们输入的参数名。

示例:下面是 Ant 命令的部分帮助信息:

ant [options] [target [target2 [target3] ...]]
  Options: 
  -help                  print this message
  -projecthelp           print project help information

其中,help 和 projecthelp 就是选项标识字符串,即 opt 的值。

longOpt

名称: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

名称: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

名称:required

类型:boolean

描述:一个标志,表示该选项是否必须出现在命令行上。

arg

名称:arg

类型:boolean

描述:一个标志,表示该选项是否接受一个参数。

args

名称:args

类型:boolean

描述:一个标志,表明该选项是否需要多个参数。

optionalArg

名称:optionalArg

类型:boolean

描述:一个标志来说明选项的参数是否是可选的。

argName

名称:argName

类型:java.lang.String

描述:用法声明的参数值的名称

valueSeparator

名称:valueSeparator

类型:char

描述:用于拆分参数字符串的字符值,与 multipleArgs 结合使用,例如:如果分隔符是 ',' 并且参数字符串是 'a,b,c' 则有三个参数值,'a'、'b' 和 'c'。

type

名称:type

类型:java.lang.Object

描述:参数的类型

value

名称:value

类型:java.lang.String

描述:选项的值

values

名称:values

类型:java.lang.String[]

描述:选项的值,值是一个数组,可以拥有多个。

所谓天才,只不过是把别人喝咖啡的功夫都用在工作上了。——鲁迅
0 不喜欢
说说我的看法 -
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号