300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > Java命令行界面(第27部分):cli-parser

Java命令行界面(第27部分):cli-parser

时间:2024-01-16 01:33:13

相关推荐

Java命令行界面(第27部分):cli-parser

CLI Parser最初托管在Google Code上,现在已存档在Google Code上 ,现在可以在GitHub上使用 。 归档的Google Code项目页面将CLI解析器描述为“使用非常简单,非常小的依赖项”,它使用注释“使非常简洁的主要方法不需要知道如何解析带有字段,属性,或基于方法的注射。” 当前的GitHub项目页面将CLI Parser描述为“一个微小的...,超级易于使用的库,用于解析各种命令行参数或属性列表。”

CLI Parser希望通过@Argument批注实现“定义”阶段。 在下一个代码清单中对此进行了演示,该清单提供了一个简单的示例,定义了“文件”和“详细”选项,如本系列以前的文章中所做的那样 。 完整的代码清单可在GitHub上找到 。

CLI解析器的“定义”阶段

@Argument(alias="f", description="Path/name of the file", required=true)private String file;@Argument(alias="v", description="Verbosity enabled?")private boolean verbose;

上面显示的代码定义了两个选项。 可以使用与字段名称匹配的名称(fileverbose)或指定的别名(fv)来指定每个选项。 使用CLI分析器,在命令行中用单个连字符表示大小写(全字段名或别名)。 如代码示例所示,可以将选项指定为“ required”,并可以提供描述文本以在帮助/使用情况语句中使用。

CLI Parser中的“解析”阶段是通过其Args类上的静态函数完成的。 在这种情况下,我将使用Args.parseOrExit(Class, String[])函数,如下面的代码清单所示。

CLI解析器的“解析”阶段

final List<String> unparsed = Args.parseOrExit(instance, arguments);

通过访问用@Argument注释的字段来完成“询问”阶段,如下面的代码清单所示。

CLI解析器的“询问”阶段

out.println("File path/name is '" + instance.file + "' and verbosity is " + instance.verbose);

“定义”代码将“文件”选项定义为“必需”。 如果未在命令行上指定此选项,则CLI Parser会使用相应@Argument批注中提供的“ description”值自动打印出用法说明。 这在下一个屏幕快照中显示,随后是另一个屏幕快照,指示-file/-f-verbose/-v选项的组合。

选择框架或库来帮助Java进行命令行解析时,需要考虑CLI解析器的特性。

CLI Parser是开源的,可在Apache License Version 2下获得。 CLI Parser是一个小型轻量级的库,其中cli-parser-1.1.2.jar约为15 KB,没有第三方依赖性。

正如宣传的那样,CLI Parser是一个“小巧的”和“超级易用的库,用于解析各种命令行参数。” 它是开放的开源Apache许可,使大多数组织都可以轻松地获取和使用它。

其他参考

cli-parser (GitHub) cli-parser (Google代码) cli-parser (MVNRepository

翻译自: //10/java-command-line-interfaces-part-27-cli-parser.html

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。