cli parser_Java命令行界面(第27部分):cli-parser
cli parser
CLI Parser最初托管在Google Code上,現在已存檔在Google Code上 ,現在可以在GitHub上使用 。 Google Code項目檔案頁面將CLI Parser描述為“使用非常簡單,非常小的依賴項”,它使用注釋“使非常簡潔的主要方法不需要知道如何解析帶有字段,屬性,或基于方法的注射。” 當前的GitHub項目頁面將CLI解析器描述為“一個很小的,超級易于使用的庫,用于解析各種命令行參數或屬性列表。”
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;上面顯示的代碼定義了兩個選項。 可以使用與字段名稱匹配的名稱( file或verbose )或指定的別名( f或v )來指定每個選項。 使用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
翻譯自: https://www.javacodegeeks.com/2017/10/java-command-line-interfaces-part-27-cli-parser.html
cli parser
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的cli parser_Java命令行界面(第27部分):cli-parser的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电脑宽带连接无法拨号上网(电脑宽带连接无
- 下一篇: 鬼谷八荒月精魂丹加多少修为?月精魂丹效果