java登录界面命令_Java命令行界面(第18部分):JCLAP
java登錄界面命令
Giles Winstanley的JCLAP ( Java命令行參數解析器 )是基于Java的命令行處理庫的系列文章中介紹的第18個庫。 這篇文章的示例基于JCLAP 1.4 ,它需要Java 8 。 JCLAP主頁上指出:“ JCLAP幫助Java開發人員為其應用程序創建易于使用的命令行界面。”
通過在CLAParser對象上調用“添加XXXXX選項”方法,可以使用JCLAP來完成“定義”階段。 與本系列前面的文章中的例子一樣,本文的示例定義了兩個命令行選項,一個用于文件路徑和名稱,一個用于啟用冗長性。 下一個代碼清單演示了如何使用JCLAP定義這兩個命令行選項(完整的代碼清單可在GitHub上找到 )。
JCLAP的“定義”階段
final CLAParser parser = new CLAParser(); final Option<String> fileNameOption= parser.addStringOption("f", "file", "Path/name of the file.", 1, 1); final Option<Boolean> verbosityOption= parser.addBooleanOption("v", "verbose", "Verbosity enabled?");剛剛顯示的代碼清單證明JCLAP支持長參數名和短參數名,提供描述的能力以及指定每個參數的最小和最大出現次數的能力。
“解析”階段是通過JCLAP調用CLAParser.parse(String [])方法實現的,盡管該方法的確拋出了檢查到的異常OptionException 。
JCLAP的“解析”階段
parser.parse(arguments);在JCLAP中以不同的方式實現“詢問”階段,但是我在這里使用的方法是使用重載的CLAParser.getOptionValue()方法之一。
JCLAP的“審訊”階段
out.println("File path/name is " + parser.getOptionValue(fileNameOption)); out.println("Verbosity is " + (parser.getOptionValue(verbosityOption) != null));JCLAP還支持自動創建使用情況聲明。 下一個代碼清單演示了如何在與捕獲選中的OptionException相關聯的塊中調用重載的CLAParser.printUsage()方法之一。
使用JCLAP的自動使用聲明
catch (OptionException optionException) {out.println("Exception: " + optionException);parser.printUsage(out, true); }接下來的兩個屏幕快照描述了實際的代碼示例。 沒有提供參數時,第一個屏幕快照顯示JCLAP生成的用法語句。 第二張圖顯示了“幸福的道路”,為兩個參數應用了長標記名和短標記名。
選擇用于幫助Java進行命令行解析的框架或庫時,需要考慮snaq.net JCLAP的特征。
- JCLAP是開放源代碼,具有在項目頁面上描述的“ BSD樣式許可證”。
- jclap-1.4.jar JAR文件的大小約為46 KB,沒有第三方庫依賴項。
- 不同版本的JCLAP是為不同版本的Java設計的。
- JCLAP 1.4需要Java 8 。
- JCLAP的作者已按照電子郵件的要求提供了潛在的支持和錯誤修復。
- JCLAP為國際化和本地化提供了一些支持。
JCLAP(Java命令行參數解析器)是一個具有商業友好許可證的小型庫,近年來已更新為使用Java 8功能。 JCLAP的作者在該項目的主頁上寫道:“ JCLAP絕不是唯一的,并且許多類似的實用程序都是免費的和商業上可用的。” 作者進一步解釋說:“現在存在許多類似的解決方案,似乎又有多余的解決方案,但是已經創建了JCLAP,將其公開可用似乎是有益的。”
其他參考
- JCLAP主頁
- JCLAP 1.4 API文檔 (Javadoc)
- Maven2Repo.com上的JCLAP 1.4
翻譯自: https://www.javacodegeeks.com/2017/10/java-command-line-interfaces-part-18-jclap.html
java登錄界面命令
總結
以上是生活随笔為你收集整理的java登录界面命令_Java命令行界面(第18部分):JCLAP的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: aws实例启动失败_AWS:启动安装了A
- 下一篇: java登录界面命令_Java命令行界面