在Apache Commons CLI库中,是否可以绕过短名称的使用,从而强制用户使用长名称?通常情况下,选项是这样定义的:
new Option("u", "username", true, "automatic user name")
我希望禁止使用字母"u"。但如果我用null
或空字符串来替换它,就会出现异常...
为什么要这样要求呢?因为我的应用程序中的某些部分是Spring Boot,Spring Boot默认识别此格式的选项:--optionName=optionValue。
此外,为了在开发人员和用户之间保持一致,并简化文档,我认为我们最好只有一种使用选项的方法。
cmd.getOptionValue(“help”)
查询它了吗?通常在发布后续问题之前,请先阅读一下JavaDoc,这些问题应该很容易找到答案。请尽快点赞并接受答案,如果它回答了你最初的问题。 - centicCommandLineParser parser = new DefaultParser(); CommandLine cmd = parser.parse( options, new String[] {"--help=foobar"}); assertEquals(cmd.hasOption("help"), true); String optionValue = cmd.getOptionValue("foobar");
assertEquals(optionValue, "coucou"); } - Francois Marotapache-cli
<= 1.2 中这是不可能的。 - Andrea Bergonzo