日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java登录界面命令_Java命令行界面(第15部分):Jargo

發布時間:2023/12/3 java 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java登录界面命令_Java命令行界面(第15部分):Jargo 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

java登錄界面命令

Jargo在其GitHub主頁上定義為“一種減輕程序參數/選項處理的工具”。 當已經存在許多其他命令行處理庫時,該頁面為另一個命令行處理庫提供了基本原理 ,該列表的頂部是“因為類型安全性,不變性和可讀性很重要”。

Jargo的選項“定義”階段使用Argument類的通用類型的實例。 這些Argument實例是通過Arguments類上的靜態方法創建的,以建立類型,然后使用生成器樣式的方法來描述選項。 在下一個屏幕快照中對此進行了演示,該屏幕快照描述了文件路徑/名稱和詳細程度選項的定義(完整的代碼清單可在GitHub上找到 )。

Jargo的“定義”舞臺

final Argument<String> filePathAndName= stringArgument().description("Path and name of file.").names("--file", "-f").required().build(); // Use optionArgument() instead of booleanArgument() to avoid need // to specify true or false as arguments to --verbose/-v option final Argument<Boolean> verbose= optionArgument("--verbose", "-v").description("Enables verbosity.").names("--verbose", "-v").defaultValue(false).build();

上面顯示的stringArgument()和optionArgument()方法在靜態導入(未顯示)的Arguments類上調用。 需要將optionArgument()方法用于詳細程度標志,以避免要求在詳細程度標志后顯式聲明true或false 。

“解析”階段是使用CommandLineParser類及其流利的API方法實現的,如下面的代碼清單所示。

final ParsedArguments parsedArguments= CommandLineParser.withArguments(filePathAndName, verbose).parse(arguments);

CommandLineParser提供的ParsedArguments實例可用于“詢問”階段。 這是通過在ParsedArguments實例上調用“ get”方法并將其傳遞給適當的Argument實例來實現的。 下一個代碼清單演示了這一點。

Jargo的“審訊”階段

out.println("File path/name is '" + parsedArguments.get(filePathAndName)+ "' and verbosity is set to '" + parsedArguments.get(verbose) + "'.");

以下屏幕快照描述了Jargo的用法。 第一個屏幕快照演示了未指定必需選項時發生的異常堆棧跟蹤,第二個屏幕快照演示了正在使用的長和短選項名稱。

第一個屏幕快照中顯示的堆棧跟蹤不是通知用戶未指定必需選項的最佳方法。 Jargo通過捕獲ArgumentException并調用其getMessageAndUsage()方法來允許返回更好的消息。 可以在GitHub上查看此代碼,結果顯示在下一個屏幕快照中。

屏幕快照表明已顯示在Argument的實例中提供的信息。 Jargo還允許在指定“ help”參數時顯式引發異常以提供此信息。 這利用了Arguments類上的靜態方法helpArgument() ,并且其用法示例包含在GitHub代碼清單中 。

選擇框架或庫來幫助使用Java進行命令行解析時,Jargo的特性需要考慮。

  • Jargo是開源的,并根據Apache License 2.0版獲得許可 。
  • Jargo的jargo-0.4.1.jar大小約為177 KB,但它對更大的Guava庫具有運行時依賴性。
    • 嚴格來說,對Guava的依賴是一個有意的決定,正如Jargo的基本原理所述 :“因為我愛Guava,并且希望將參數解析庫與之很好地集成在一起(該部門將提供更多信息)?!?
  • Jargo使用強類型的API調用以編程方式配置預期的命令行選項,而不是使用批注和/或反射。
  • 在擁有如此多基于Java的命令行處理庫的領域中,對于希望使用Jargo的Rationale列出的命令行處理庫的所有屬性來解釋為什么另一個庫的開發人員來說,Jargo最有可能成為重要的競爭者。這個擁擠的空間得到了發展。

Jargo是一個易于使用的庫,用于處理Java中的命令行選項,并利用通用類型的類和特定于類型的靜態方法來增強命令行選項的類型安全性。 Jargo需要Guava才能運行,因此最適合已在使用Guava的應用程序。 如果Jargo基本原理中的所有項目對于該開發人員都很重要,則開發人員可能會認真考慮Jargo而不是其他基于Java的替代命令行處理庫。

其他參考

  • Jargo (GitHub)
  • Maven上的Jargo ( Maven存儲庫 )

翻譯自: https://www.javacodegeeks.com/2017/09/java-command-line-interfaces-part-15-jargo.html

java登錄界面命令

總結

以上是生活随笔為你收集整理的java登录界面命令_Java命令行界面(第15部分):Jargo的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。