当前位置:  开发笔记 > 编程语言 > 正文

Apache Commons CLI:如何防止使用短名称选项?

如何解决《ApacheCommonsCLI:如何防止使用短名称选项?》经验,为你挑选了1个好方法。

在Apache Commons CLI lib中,是否可以绕过短名称的使用,从而迫使用户使用长名称?

通常,选项定义如下:

new Option("u", "username", true, "automatic user name")

我想禁止使用"你".但是,如果我用null空字符串替换它,有例外...

为什么这个要求?我希望我的所有选项只能以--optionName = optionValue的形式出现,因为我的应用程序的某些部分是Spring Boot,而Spring Boot默认选择此格式的选项.

此外,为了保持开发人员和用户之间的一致性并简化文档,我发现如果我们有一种使用选项而不是2的独特方式会更好.



1> centic..:

null当使用最新版本的Apache Commons Cli 1.3.1和DefaultParser(这是现在唯一没有弃用的)时,以短名称传递对我有用:

    Options options = new Options();

    Option option = new Option(null, "help", true, "some desc");

    options.addOption(option);

    CommandLineParser parser = new DefaultParser();
    CommandLine cmd = parser.parse( options, new String[] {"--help=foobar"});

    // automatically generate the help statement
    HelpFormatter formatter = new HelpFormatter();
    formatter.printHelp( "ant", options );

    assertEquals(cmd.hasOption("help"), true); 
    String optionValue = cmd.getOptionValue("help"); 
    assertEquals("foobar", optionValue);

推荐阅读
牛尾巴2010
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有