java登录界面命令_Java命令行界面(第26部分):CmdOption
java登錄界面命令
由于Tweet,我了解了本系列中第26個基于Java的功能強大的庫,該庫用于解析命令行參數 。 CmdOption在其GitHub主頁上被描述為“一個通過注釋配置的,用于Java 5+應用程序的簡單注釋驅動命令行解析器工具包。” 該項目的副標題是“命令行解析從未如此簡單。”
注釋@CmdOption用于注釋將包含已解析的命令行參數的字段(或方法)。 換句話說,使用@CmdOption批注可以通過CmdOption完成“定義”階段。 這顯示在下一個代碼清單中。
使用CmdOption的“定義”階段
@CmdOption(names={"--file","-f"}, description="File Path/Name", minCount=1, args={"filePathAndName"}) private String file;@CmdOption(names={"--verbose","-v"}, description="Is verbosity enabled?", maxCount=0) private boolean verbose;與本系列中的其他文章一樣, 本文章中使用的示例是指定文件路徑和名稱以及詳細程度的選項。 GitHub上提供了本文中示例代碼清單的完整源代碼清單。 如上面的代碼清單所示,可以使用@CmdOption批注的names元素指定“長”(帶雙連字符)和“短”(帶單連字符)選項名稱。 minCount元素用于指定必須向其傳遞特定選項的參數,而args元素列出對將在幫助/使用情況顯示中呈現的選項的參數的字符串引用。 verbosity選項的maxCount元素設置為0,因為不應為該選項提供任何參數( -v或--verbose存在就足夠了)。
所述“語法分析”階段在CmdOption通過使實例的類的與實現@CmdOption -annotated字段(或方法)的CmdOption的的構造CmdlineParser類,然后使String[]表示命令行參數的parse(String[])實例化的CmdlineParser類的parse(String[])方法。
使用CmdOption進行“解析”階段
final Main instance = new Main(); final CmdlineParser parser = new CmdlineParser(instance); parser.parse(arguments);CmdOption中的“詢問”階段僅包括在傳遞給CmdlineParser構造函數的包含類的實例上訪問@CmdOption字段(或方法)。
CmdOption中的“審訊”階段
out.println("File path/name is '" + instance.file + "'."); out.println("Verbosity level is " + instance.verbose);CmdOption提供了使“幫助”或“使用”語句的生成更容易的機制。 如果@CmdOption批注包含元素isHelp=true ,則在命令行上指定與isHelp=true關聯的選項時,CmdOption將不會驗證命令行參數。 這樣可以防止顯示有關缺少必需選項或參數的錯誤消息,然后可以調用CmdlineParser.usage()方法以使CmdOption打印出用法/幫助信息。 接下來展示了一部分證明這一點的代碼。
使用CmdOption的“幫助”
@CmdOption(names={"--help","-h"}, description = "Display this help message", isHelp=true) private boolean help;// ...if (instance.help) {parser.usage(out); }以下三個屏幕快照顯示了上面的代碼正在使用CmdOption。 第一張圖像描述了兩條錯誤消息,一條未指定選項時( -f / --file是必需的),另一條在未指定參數的情況下指定“ file”選項。 第二張圖描述了短和長選項名稱的組合。 第三幅圖像顯示了指定-h或--help選項時打印的用法。
選擇框架或庫來幫助Java進行命令行解析時,要考慮CmdOption的特征。
- CmdOption是開源的,并根據Apache許可2.0版發布。
- de.tototec.cmdoption-0.5.0.jar的大小約為82 KB,不需要第三方依賴性。
- CmdOption 0.5.0 使用“主要版本:49”進行編譯 ,這意味著它與J2SE 5應用程序兼容。 盡管本系列中涵蓋了多個庫,這些庫的注釋與CmdOption的注釋相似,但在某些情況下,使用舊版Java的功能可能會有所不同。
- CmdOption仍受支持; 本帖子( 0.5.0 )中介紹的版本已于本月初(2017年10月9日)更新。
CmdOption是一個易于使用的庫,用于解析Java中的命令行選項。 它帶有自由開源許可證,并已收到最新更新。
其他參考
- CmdOption (GitHub)
- Maven中央存儲庫上的CmdOption
- MVNRepository上的CmdOption
- Twitter上的@ToToTec和@TobiasRoeser
翻譯自: https://www.javacodegeeks.com/2017/10/java-command-line-interfaces-part-26-cmdoption.html
java登錄界面命令
總結
以上是生活随笔為你收集整理的java登录界面命令_Java命令行界面(第26部分):CmdOption的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: json api_JSON模式在构建和部
- 下一篇: getopt java_Java命令行界