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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 前端技术 > javascript >内容正文

javascript

Java命令行界面(第20部分):JSAP

發(fā)布時(shí)間:2023/12/3 javascript 62 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java命令行界面(第20部分):JSAP 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

JSAP ( Java Simple Argument Parser )2.1是本系列文章的第二十篇,重點(diǎn)是處理Java的命令行參數(shù)。 JSAP頁(yè)面描述了該庫(kù)存在的原因:“我在Internet上找到了幾個(gè)解析器,所有解析器都處理了開關(guān),但是在解析返回類型和配置文件方面,都沒(méi)有我想要的多功能性。”

JSAP提供了相當(dāng)多的靈活性,但付出了一些復(fù)雜性的正常代價(jià)。 幸運(yùn)的是,JSAP提供了一個(gè)名為SimpleJSAP的類,它使使用JSAP完成簡(jiǎn)單任務(wù)變得更加容易。 JSAP文檔以這種方式表達(dá)了這一觀點(diǎn): “如果您想減少處理命令行的代碼量,JSAP提供了一個(gè)SimpleJSAP,可以為您完成大部分工作。” 下一個(gè)代碼清單演示了在單個(gè)(盡管很冗長(zhǎng))語(yǔ)句中使用SimpleJSAP來(lái)定義預(yù)期的命令行選項(xiàng)。

JSAP的“定義”階段

final SimpleJSAP jsap = new SimpleJSAP("Main Application","Demonstrate JSAP",new Parameter[]{new FlaggedOption("file", STRING_PARSER, NO_DEFAULT, REQUIRED, 'f', "file", "File path/name."),new Switch("verbose", 'v', "verbose", "Requests verbose output." )});

對(duì)于上面的代碼清單,我使用靜態(tài)導(dǎo)入來(lái)減少此“定義”代碼的冗長(zhǎng)性。 這些可以在GitHub上的完整代碼清單中看到。 上面的代碼定義了本系列中用于解析Java命令行參數(shù)的庫(kù)中所有文章中使用的兩個(gè)選項(xiàng):文件路徑/名稱和詳細(xì)程度。 單個(gè)字符'f'和'v'是短選項(xiàng)名稱,而長(zhǎng)選項(xiàng)名稱在它們各自的調(diào)用( file和verbose )之后。 請(qǐng)注意,命令行參數(shù)的“定義”也可以通過(guò)XML進(jìn)行配置 ,盡管此處未演示。

所述“語(yǔ)法分析”階段在司法制度評(píng)估方案與其中的調(diào)用另一單個(gè)語(yǔ)句實(shí)現(xiàn)解析(字符串[])上的實(shí)例方法SimpleJSAP返回的一個(gè)實(shí)例JSAPResult 。

JSAP的“解析”階段

final JSAPResult parsedResult = jsap.parse(arguments);

JSAP的“詢問(wèn)”階段是通過(guò)調(diào)用parse方法返回的JSAPResult實(shí)例來(lái)完成的,如下面的代碼清單所示。

JSAP的“審訊”階段

out.println("File path/name is '" + parsedResult.getString("file") + "'."); out.println("Verbosity level is " + parsedResult.getBoolean("verbose"));

JSAP將生成自動(dòng)用法和幫助語(yǔ)句。 下一個(gè)代碼清單演示了如何使用SimpleJSAP.messagePrinted()方法來(lái)確定是否發(fā)生了一些解析錯(cuò)誤,然后使用SimpleJSAP.getHelp()消息來(lái)訪問(wèn)自動(dòng)生成的“幫助”消息。

JSAP的“幫助”

if (jsap.messagePrinted()) {out.println(jsap.getHelp());System.exit( -1 ); }

接下來(lái)的兩個(gè)屏幕快照演示了如何使用JSAP執(zhí)行本文中所示的代碼示例。 第一張圖片描述了未提供所需的-f / --file標(biāo)志時(shí)打印的用法說(shuō)明。 第二幅圖描繪了基于JSAP的示例代碼的正常行為。

選擇框架或庫(kù)來(lái)幫助Java進(jìn)行命令行解析時(shí),需要考慮JSAP的特征。

  • JSAP是開源的,并獲得了次級(jí)GNU公共許可證 (LPGL)的許可 。
  • JSAP-2.1.jar JAR文件的大小約為68 KB,基本功能不需要第三方依賴。
    • 從XML加載JSAP配置的能力(本文未涵蓋)確實(shí)需要XStream 。
  • 《 JSAP手冊(cè)》更詳細(xì)地討論了當(dāng)有其他可用的Java命令行解析替代方法時(shí), 為什么編寫JSAP的原因 。
  • JSAP被其他產(chǎn)品使用 , 受到了一些用戶的好評(píng) ,并且已在Groovy中代替內(nèi)置的 Apache Commons CLI使用 。

JSAP似乎是較舊的基于Java的命令行解析庫(kù)中較流行的一種。 像本文中演示的那樣,基本功能相對(duì)容易使用,但是還可以提供更多的靈活性和可定制性,以滿足更復(fù)雜的需求。

其他資源

  • JSAP v2.1:Java簡(jiǎn)單參數(shù)解析器
  • SourceForge上的JSAP
  • JSAP – Java簡(jiǎn)單參數(shù)解析器(v2.1)手冊(cè)
  • MvnRepository上的JSAP
  • JSAP API文檔 (Javadoc)
  • 解析命令行參數(shù)– JSAP
  • Groovy的命令行參數(shù)解析 (使用JSAP)

翻譯自: https://www.javacodegeeks.com/2017/10/java-command-line-interfaces-part-20-jsap.html

總結(jié)

以上是生活随笔為你收集整理的Java命令行界面(第20部分):JSAP的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。