最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java命令行參數(shù)解析工具jcommander詳解

 更新時(shí)間:2023年09月08日 11:26:30   作者:追風(fēng)的電腦桌_XPdvn  
這篇文章主要為大家介紹了Java命令行參數(shù)解析工具jcommander命令詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

前言

如果你想構(gòu)建一個(gè)支持命令行參數(shù)的程序,那么 jcommander 非常適合你,jcommander 是一個(gè)只有幾十 kb 的 Java 命令行參數(shù)解析工具,可以通過注解的方式快速實(shí)現(xiàn)命令行參數(shù)解析。這篇教程會(huì)通過介紹 jcommadner ,快速的創(chuàng)建一個(gè)命令行程序,最后支持的命令參數(shù)功能如下圖。

這個(gè)命令行工具仿照 git 操作命令,主要提供了如下功能命令:git-app.jar -help 查看命令幫助信息。git-app.jar -version 查看當(dāng)前版本號。git-app.jar clone http://xxxx 通過 URL 克隆一個(gè)倉庫。git-app.jar add file1 file2 暫存 file1 文件 file2 文件。git-app.jar commit -m "注釋" 提交并添加注釋。

jcommander 引入截止文章編寫時(shí)間,最新版本如下:<!-- https://mvnrepository.com/artifact/com.beust/jcommander -->
<dependency>

<groupId>com.beust</groupId>
<artifactId>jcommander</artifactId>
<version>1.82</version>

</dependency>
這個(gè)命令行工具仿照 git 操作命令,主要提供了如下功能命令:

git-app.jar -help 查看命令幫助信息。
git-app.jar -version 查看當(dāng)前版本號。
git-app.jar clone http://xxxx 通過 URL 克隆一個(gè)倉庫。
git-app.jar add file1 file2 暫存 file1 文件 file2 文件。
git-app.jar commit -m "注釋" 提交并添加注釋。

jcommander 引入

截止文章編寫時(shí)間,最新版本如下:

<!-- https://mvnrepository.com/artifact/com.beust/jcommander -->
<dependency>
    <groupId>com.beust</groupId>
    <artifactId>jcommander</artifactId>
    <version>1.82</version>
</dependency>

commander 參數(shù)綁定

命令行解析中,參數(shù)解析與綁定是最實(shí)用的一個(gè)場景,jcommander 使用 Parameter 注解進(jìn)行參數(shù)綁定。我們定義一個(gè) GitCommandOptions.java 類來測試參數(shù)綁定。

package com.wdbyte.jcommander.v1;
    import com.beust.jcommander.Parameter;
    /**
     * @author https://www.wdbyte.com
     */
    public class GitCommandOptions {
        @Parameter(names = {"clone"},
            description = "克隆遠(yuǎn)程倉庫數(shù)據(jù)")
        private String cloneUrl;
        public String getCloneUrl() {
            return cloneUrl;
        }
    }

使用 jcommander 結(jié)合 GitCommandOptions 來解析參數(shù)。

package com.wdbyte.jcommander.v1;
import com.beust.jcommander.JCommander;
/**
 * @author https://www.wdbyte.com
 */
public class GitApp {
    public static void main(String[] args) {
            // args = new String[]{"clone","http://www.wdbyte.com/test.git"};
        GitCommandOptions gitCommandOptions = new GitCommandOptions();
        JCommander commander = JCommander.newBuilder()
            .addObject(gitCommandOptions)
            .build();
        commander.parse(args);
        System.out.println("clone " + gitCommandOptions.getCloneUrl());
    }
}

打包后可以執(zhí)行命令參數(shù):

$ java -jar git-app.jar clone 

http://m.fzitv.net/program/297701twh.htm

這里是一個(gè)字符串參數(shù),需要在命令中輸出參數(shù)值,對于 boolean 類型的參數(shù),不需要傳值,有命令即為 true 值。

以上就是Java命令行參數(shù)解析工具jcommander詳解的詳細(xì)內(nèi)容,更多關(guān)于Java jcommander命令行參數(shù)解析的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • SpringSecurity認(rèn)證流程詳解

    SpringSecurity認(rèn)證流程詳解

    這篇文章主要介紹了SpringSecurity認(rèn)證流程詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-05-05
  • 如何使用MyBatis框架實(shí)現(xiàn)增刪改查(CRUD)操作

    如何使用MyBatis框架實(shí)現(xiàn)增刪改查(CRUD)操作

    本文主要介紹了如何使用MyBatis框架實(shí)現(xiàn)增刪改查(CRUD)操作。首先介紹了MyBatis框架的基本概念和使用方法,然后分別介紹了如何使用MyBatis實(shí)現(xiàn)增刪改查操作。最后,通過一個(gè)簡單的示例演示了如何使用MyBatis框架實(shí)現(xiàn)CRUD操作。
    2023-05-05
  • 一文淺析Java中的值傳遞

    一文淺析Java中的值傳遞

    今天在解決一個(gè)問題時(shí),程序總是不能輸出正確值,分析邏輯思路沒問題后,發(fā)現(xiàn)原來是由于函數(shù)傳遞導(dǎo)致了這個(gè)情況,下面我們就來看看Java中的值傳遞到底是什么情況吧
    2023-08-08
  • Java畢業(yè)設(shè)計(jì)實(shí)戰(zhàn)之藥店信息管理系統(tǒng)的實(shí)現(xiàn)

    Java畢業(yè)設(shè)計(jì)實(shí)戰(zhàn)之藥店信息管理系統(tǒng)的實(shí)現(xiàn)

    這是一個(gè)使用了java+SSM+JSP+layui+maven+mysql開發(fā)的藥店信息管理系統(tǒng),是一個(gè)畢業(yè)設(shè)計(jì)的實(shí)戰(zhàn)練習(xí),具有藥店信息管理該有的所有功能,感興趣的朋友快來看看吧
    2022-01-01
  • IDEA集成Gitee碼云的實(shí)現(xiàn)步驟

    IDEA集成Gitee碼云的實(shí)現(xiàn)步驟

    本文主要介紹了IDEA集成Gitee碼云的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • SpringBoot?MP簡單的分頁查詢測試實(shí)現(xiàn)步驟分解

    SpringBoot?MP簡單的分頁查詢測試實(shí)現(xiàn)步驟分解

    好久沒水后端的東西了,最近在做vue項(xiàng)目寫前端的代碼,所以cloud也停進(jìn)度了,吃完飯突然記得我沒有在博客里寫分頁的東西,雖然項(xiàng)目中用到了,但是沒有拎出來,這里就拎出來看看
    2023-04-04
  • 淺談Spring嵌套事務(wù)是怎么回滾的

    淺談Spring嵌套事務(wù)是怎么回滾的

    本文主要介紹了Spring嵌套事務(wù)是怎么回滾的,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • WIN7系統(tǒng)JavaEE(java)環(huán)境配置教程(一)

    WIN7系統(tǒng)JavaEE(java)環(huán)境配置教程(一)

    這篇文章主要介紹了WIN7系統(tǒng)JavaEE(java+tomcat7+Eclipse)環(huán)境配置教程,本文重點(diǎn)在于java配置,感興趣的小伙伴們可以參考一下
    2016-06-06
  • Java實(shí)現(xiàn)的模糊匹配某文件夾下的文件并刪除功能示例

    Java實(shí)現(xiàn)的模糊匹配某文件夾下的文件并刪除功能示例

    這篇文章主要介紹了Java實(shí)現(xiàn)的模糊匹配某文件夾下的文件并刪除功能,涉及java針對目錄與文件的遍歷、匹配、判斷、刪除等相關(guān)操作技巧,需要的朋友可以參考下
    2018-02-02
  • logback的UNDEFINED_PROPERTY屬性源碼執(zhí)行流程解讀

    logback的UNDEFINED_PROPERTY屬性源碼執(zhí)行流程解讀

    這篇文章主要為大家介紹了logback的UNDEFINED_PROPERTY屬性源碼執(zhí)行流程解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11

最新評論

洪雅县| 西林县| 凤山市| 精河县| 克什克腾旗| 布拖县| 诸城市| 德清县| 绥阳县| 凉城县| 若尔盖县| 阿拉善左旗| 和顺县| 梁平县| 中宁县| 乌兰浩特市| 大石桥市| 昌邑市| 凤台县| 防城港市| 谢通门县| 芒康县| 广东省| 韶关市| 太仆寺旗| 滕州市| 登封市| 长葛市| 高唐县| 政和县| 牟定县| 怀集县| 富锦市| 清涧县| 金门县| 舟曲县| 渭南市| 盐边县| 库伦旗| 丰城市| 张家川|