JCommander 解析命令行参数

package xxxx


import com.beust.jcommander.JCommander;
import com.beust.jcommander.Parameter;
import java.util.ArrayList;
import java.util.List;

public class JcomEx {
@Parameter
private List<String> parameters = new ArrayList<String>();

@Parameter(names = { "-log", "-verbose" }, description = "Level of verbosity")
private Integer verbose = 1;

@Parameter(names = "-groups", description = "Comma-separated list of group names to be run")
private String groups;

@Parameter(names = "-debug", description = "Debug mode")
private boolean debug = false;

public static void main(String[] args) {
JcomEx jct = new JcomEx();
String[] argv = { "-log", "2", "-groups", "unit" };
JCommander jc = new JCommander(jct, argv);
System.out.println(jct.groups);
System.out.println(jct.debug);
System.out.println(jct.debug);
}

}


输出:

unit
false
false

 

maven库:

com.beust.jcommander


在命令行上,参数key和value之间默认使用空格,也可以使用其他符号

参考:http://blog.csdn.net/navyhu/article/details/40430267

参数默认用空格分隔,但是我们也可以指定自己的分隔符,比如用“:”, “=”等,java Main -log:3
可以在参数类定义中使用@Parameter annotation指定分隔符 

 
    1. @Parameters(separators = "=")  
    2. public class SeparatorEqual {  
    3.   @Parameter(names = "-level")  
    4.   private Integer level = 2;  
    5. }  

转载于:https://www.cnblogs.com/brainstorm/p/7562407.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值