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

這個命令行工具仿照 git 操作命令,主要提供了如下功能命令:git-app.jar -help 查看命令幫助信息。git-app.jar -version 查看當前版本號。git-app.jar clone http://xxxx 通過 URL 克隆一個倉庫。git-app.jar add file1 file2 暫存 file1 文件 file2 文件。git-app.jar commit -m "注釋" 提交并添加注釋。
jcommander 引入截止文章編寫時間,最新版本如下:<!-- https://mvnrepository.com/artifact/com.beust/jcommander -->
<dependency>
<groupId>com.beust</groupId> <artifactId>jcommander</artifactId> <version>1.82</version>
</dependency>
這個命令行工具仿照 git 操作命令,主要提供了如下功能命令:
git-app.jar -help 查看命令幫助信息。
git-app.jar -version 查看當前版本號。
git-app.jar clone http://xxxx 通過 URL 克隆一個倉庫。
git-app.jar add file1 file2 暫存 file1 文件 file2 文件。
git-app.jar commit -m "注釋" 提交并添加注釋。
jcommander 引入
截止文章編寫時間,最新版本如下:
<!-- https://mvnrepository.com/artifact/com.beust/jcommander -->
<dependency>
<groupId>com.beust</groupId>
<artifactId>jcommander</artifactId>
<version>1.82</version>
</dependency>commander 參數(shù)綁定
命令行解析中,參數(shù)解析與綁定是最實用的一個場景,jcommander 使用 Parameter 注解進行參數(shù)綁定。我們定義一個 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 = "克隆遠程倉庫數(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://www.fzitv.net/program/297701twh.htm
這里是一個字符串參數(shù),需要在命令中輸出參數(shù)值,對于 boolean 類型的參數(shù),不需要傳值,有命令即為 true 值。
以上就是Java命令行參數(shù)解析工具jcommander詳解的詳細內(nèi)容,更多關于Java jcommander命令行參數(shù)解析的資料請關注腳本之家其它相關文章!
相關文章
如何使用MyBatis框架實現(xiàn)增刪改查(CRUD)操作
本文主要介紹了如何使用MyBatis框架實現(xiàn)增刪改查(CRUD)操作。首先介紹了MyBatis框架的基本概念和使用方法,然后分別介紹了如何使用MyBatis實現(xiàn)增刪改查操作。最后,通過一個簡單的示例演示了如何使用MyBatis框架實現(xiàn)CRUD操作。2023-05-05
Java畢業(yè)設計實戰(zhàn)之藥店信息管理系統(tǒng)的實現(xiàn)
這是一個使用了java+SSM+JSP+layui+maven+mysql開發(fā)的藥店信息管理系統(tǒng),是一個畢業(yè)設計的實戰(zhàn)練習,具有藥店信息管理該有的所有功能,感興趣的朋友快來看看吧2022-01-01
SpringBoot?MP簡單的分頁查詢測試實現(xiàn)步驟分解
好久沒水后端的東西了,最近在做vue項目寫前端的代碼,所以cloud也停進度了,吃完飯突然記得我沒有在博客里寫分頁的東西,雖然項目中用到了,但是沒有拎出來,這里就拎出來看看2023-04-04
WIN7系統(tǒng)JavaEE(java)環(huán)境配置教程(一)
這篇文章主要介紹了WIN7系統(tǒng)JavaEE(java+tomcat7+Eclipse)環(huán)境配置教程,本文重點在于java配置,感興趣的小伙伴們可以參考一下2016-06-06
Java實現(xiàn)的模糊匹配某文件夾下的文件并刪除功能示例
這篇文章主要介紹了Java實現(xiàn)的模糊匹配某文件夾下的文件并刪除功能,涉及java針對目錄與文件的遍歷、匹配、判斷、刪除等相關操作技巧,需要的朋友可以參考下2018-02-02
logback的UNDEFINED_PROPERTY屬性源碼執(zhí)行流程解讀
這篇文章主要為大家介紹了logback的UNDEFINED_PROPERTY屬性源碼執(zhí)行流程解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-11-11

