Apache common-cli在其ls
命令的网站上有一个例子:
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" )
.hasArg()
.withArgName("SIZE")
.create() );
这显示了这样的帮助:
-a, --all do not hide entries starting with .
-A, --almost-all do not list implied . and ..
-b, --escape print octal escapes for nongraphic characters
--block-size=SIZE use SIZE-byte blocks
--block-size <SIZE>
。我想展示这样的东西:-z,--block-size=SIZE
(不仅仅是
长期选择)。PosixParser
和GnuParser
的区别是什么?我变了
他们在代码中,我没有发现任何差异。h
,则throw
不会ParseException
。该程序正常启动并完成。答案 0 :(得分:5)
示例中的块大小选项只有很长的格式,这就是为什么没有显示短选项的原因。如果你添加一个简短的别名,你将得到你期望的结果
PosixParser
和GnuParser
。新的统一解析器可用作DefaultParser
。 posix解析器能够解析连接的短选项,例如tar -zxvf foo.tar.gz
。
根据stopAtNonOption
解析器参数的值,额外选项可作为应用程序的参数处理或触发异常。