gpt4 book ai didi

java - 使用 Apache common-cli 解析参数

转载 作者:行者123 更新时间:2023-11-29 08:06:35 26 4
gpt4 key购买 nike

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
  1. 当我写这段代码时,它显示--block-size <SIZE> .我想展示这样的东西:-z,--block-size=SIZE (不只是长选项)。
  2. PosixParser 有什么区别?和 GnuParser ?我变了他们在代码中,我没有观察到任何区别。
  3. 当我提供错误的选项时,例如 h它没有 throw任何ParseException .程序正常启动和结束。

最佳答案

  1. 示例中的 block 大小选项只有长格式,这就是没有显示短选项的原因。如果您添加一个简短的别名,您将获得您期望的结果

  2. PosixParserGnuParser 在最新版本的 Commons CLI 中已弃用。一个新的统一解析器作为 DefaultParser 可用。 posix 解析器能够解析串联的短选项,例如 tar -zxvf foo.tar.gz

  3. 额外的选项要么作为应用程序的参数处理,要么触发异常,具体取决于 stopAtNonOption 解析器参数的值。

关于java - 使用 Apache common-cli 解析参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10797866/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com