36

我想试用 Apache Commons CLI,并想从其网页上的“使用”部分开始。

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

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

4

4 回答 4

49

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

CommandLineParser parser = new GnuParser();

更新:在 CLI 的 1.3.1 版中,GnuParser()现已弃用。所以我简单地添加了

import org.apache.commons.cli.DefaultParser;

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

了,一切都很好!

于 2013-04-04T13:18:36.833 回答
12

您使用的是什么版本的 CLI?直到 1.3 快照才添加 DefaultParser。

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

于 2013-07-17T14:24:11.400 回答
10

我在使用 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(和实现解析器)以获取更多信息。

于 2013-10-15T22:26:37.817 回答
3

这个 DefaultParser 类属于 Apache CLI 1.3,因此要使用它,您必须使用 jar varsion 1.3 更新您的类路径

于 2013-12-09T11:02:02.850 回答