zoukankan      html  css  js  c++  java
  • 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. }  
  • 相关阅读:
    Machine Learning Basic Knowledge
    What is the reason that a likelihood function is not a pdf?
    MySql 增加字段 删除字段 修改字段名称 修改字段类型
    Manual install on Windows 7 with Apache and MySQL
    linux 解压命令大全[转]
    MVC2项目实践
    JSP显示新闻
    servlet应用
    login登录页面
    java web基础
  • 原文地址:https://www.cnblogs.com/brainstorm/p/7562407.html
Copyright © 2011-2022 走看看