JCommander

Java 的命令行解析框架。(Command line parsing framework for Java)

  • 所有者: cbeust/jcommander
  • 平台: BSD, Cross-platform, Linux, Mac, Solaris, Windows
  • 许可证: Apache License 2.0
  • 分类:
  • 主题:
  • 喜欢:
    0
      比较:

Github星跟踪图

JCommander

This is an annotation based parameter parsing framework for Java 8.

Here is a quick example:

public class JCommanderTest {
    @Parameter
    public List<String> parameters = Lists.newArrayList();
 
    @Parameter(names = { "-log", "-verbose" }, description = "Level of verbosity")
    public Integer verbose = 1;
 
    @Parameter(names = "-groups", description = "Comma-separated list of group names to be run")
    public String groups;
 
    @Parameter(names = "-debug", description = "Debug mode")
    public boolean debug = false;

    @DynamicParameter(names = "-D", description = "Dynamic parameters go here")
    public Map<String, String> dynamicParams = new HashMap<String, String>();

}

and how you use it:

JCommanderTest jct = new JCommanderTest();
String[] argv = { "-log", "2", "-groups", "unit1,unit2,unit3",
                    "-debug", "-Doption=value", "a", "b", "c" };
JCommander.newBuilder()
  .addObject(jct)
  .build()
  .parse(argv);

Assert.assertEquals(2, jct.verbose.intValue());
Assert.assertEquals("unit1,unit2,unit3", jct.groups);
Assert.assertEquals(true, jct.debug);
Assert.assertEquals("value", jct.dynamicParams.get("option"));
Assert.assertEquals(Arrays.asList("a", "b", "c"), jct.parameters);

The full doc is available at https://jcommander.org.

Building JCommander

./gradlew assemble

主要指标

概览
名称与所有者cbeust/jcommander
主编程语言Java
编程语言Java (语言数: 3)
平台BSD, Cross-platform, Linux, Mac, Solaris, Windows
许可证Apache License 2.0
所有者活动
创建于2010-07-13 05:40:31
推送于2025-08-10 14:07:08
最后一次提交2025-08-10 14:07:03
发布数60
最新版本名称2.0 (发布于 )
第一版名称1.1 (发布于 )
用户参与
星数2k
关注者数60
派生数342
提交数1.2k
已启用问题?
问题数372
打开的问题数93
拉请求数147
打开的拉请求数8
关闭的拉请求数77
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?