欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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)前版本號(hào)。git-app.jar clone http://xxxx 通過 URL 克隆一個(gè)倉(cāng)庫(kù)。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)前版本號(hào)。
git-app.jar clone http://xxxx 通過 URL 克隆一個(gè)倉(cāng)庫(kù)。
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è)場(chǎng)景,jcommander 使用 Parameter 注解進(jìn)行參數(shù)綁定。我們定義一個(gè) GitCommandOptions.java 類來(lái)測(cè)試參數(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)程倉(cāng)庫(kù)數(shù)據(jù)")
        private String cloneUrl;
        public String getCloneUrl() {
            return cloneUrl;
        }
    }

使用 jcommander 結(jié)合 GitCommandOptions 來(lái)解析參數(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://www.dbjr.com.cn/program/297701twh.htm

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

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

相關(guān)文章

  • 詳解Lombok安裝及Spring Boot集成Lombok

    詳解Lombok安裝及Spring Boot集成Lombok

    這篇文章主要介紹了詳解Lombok安裝及Spring Boot集成Lombok,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2019-03-03
  • Java實(shí)現(xiàn)簡(jiǎn)易五子棋小游戲

    Java實(shí)現(xiàn)簡(jiǎn)易五子棋小游戲

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)簡(jiǎn)易五子棋小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • 解析WeakHashMap與HashMap的區(qū)別詳解

    解析WeakHashMap與HashMap的區(qū)別詳解

    本篇文章是對(duì)WeakHashMap與HashMap的區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • java多線程編程之使用Synchronized塊同步變量

    java多線程編程之使用Synchronized塊同步變量

    我們可以通過synchronized塊來(lái)同步特定的靜態(tài)或非靜態(tài)方法。要想實(shí)現(xiàn)這種需求必須為這些特性的方法定義一個(gè)類變量,然后將這些方法的代碼用synchronized塊括起來(lái),并將這個(gè)類變量作為參數(shù)傳入synchronized塊
    2014-01-01
  • Java中的動(dòng)態(tài)代理實(shí)現(xiàn)代碼實(shí)例

    Java中的動(dòng)態(tài)代理實(shí)現(xiàn)代碼實(shí)例

    這篇文章主要介紹了Java中的動(dòng)態(tài)代理實(shí)現(xiàn)代碼實(shí)例,jdk動(dòng)態(tài)代理本質(zhì)上是使用被代理對(duì)象的類加載器,通過被代理類實(shí)現(xiàn)的接口在運(yùn)行時(shí)動(dòng)態(tài)構(gòu)造出代理類來(lái)增強(qiáng)原始類的功能的方法,需要的朋友可以參考下
    2023-12-12
  • Java 方法簽名詳解及實(shí)例代碼

    Java 方法簽名詳解及實(shí)例代碼

    這篇文章主要介紹了 Java 方法簽名詳解及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下
    2016-10-10
  • Java中的注解機(jī)制Annotation詳解

    Java中的注解機(jī)制Annotation詳解

    這篇文章主要介紹了Java中的注解機(jī)制Annotation詳解,  Java Annotation 是 Java 語(yǔ)言中的一種 元數(shù)據(jù)機(jī)制,它可以在代碼中添加額外的信息,以便于程序的理解和處理,Annotation 可以用來(lái)描述類、方法、屬性等各種程序的特性,需要的朋友可以參考下
    2023-10-10
  • IDEA中程序包Org.Springframework.Boot不存在問題及解決

    IDEA中程序包Org.Springframework.Boot不存在問題及解決

    這篇文章主要介紹了IDEA中程序包Org.Springframework.Boot不存在問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • Servlet開發(fā)JavaWeb工程示例詳解

    Servlet開發(fā)JavaWeb工程示例詳解

    這篇文章主要介紹了Servlet開發(fā)JavaWeb工程示例詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • java 基礎(chǔ)之final、finally和finalize的區(qū)別

    java 基礎(chǔ)之final、finally和finalize的區(qū)別

    這篇文章主要介紹了java 基礎(chǔ)之final、finally和finalize的區(qū)別的相關(guān)資料,需要的朋友可以參考下
    2017-05-05

最新評(píng)論