Apache Commons CLI中的DefaultParser

ben*_*oth 33 java command-line-interface apache-commons

我想尝试使用Apache Commons CLI,并认为一个好的起点是它的网页上的"使用"部分.

http://commons.apache.org/proper/commons-cli/usage.html

现在,这个例子建议创建一个DefaultParser,但是我能找到的最接近的声音是BasicParser.这是用的东西,我错过了什么吗?

小智 44

我使用GnuParser()而不是,DefaultParser()它运作良好.

CommandLineParser parser = new GnuParser();

更新:在CLI的1.3.1版中,GnuParser()现已弃用.所以我只是添加

import org.apache.commons.cli.DefaultParser;

,现在我使用CommandLineParser parser = new DefaultParser();

而且一切都很好!


Bri*_*lli 12

您使用的是哪个版本的CLI?在1.3快照之前未添加DefaultParser.

http://commons.apache.org/proper/commons-cli/apidocs/org/apache/commons/cli/DefaultParser.html

  • 但是maven只有1.2.什么时候maven会得到1.3-SNAPSHOT? (4认同)

joa*_*ura 9

我在使用 commons-cli 1.2的相同使用指南时遇到了同样的问题,并找到了以下可用的解析器:

  • org.apache.commons.cli.BasicParser
  • org.apache.commons.cli.GnuParser
  • org.apache.commons.cli.PosixParser

它们都扩展了org.apache.commons.cli.Parser并且只实现了该flatten方法.您可以检查Parser的javadoc(并实现解析器)以获取更多信息.