Apache Commons CLI 中的 DefaultParser

37

我想尝试使用Apache Commons CLI,并且认为一个很好的开始是在其网页上的“用法”部分。

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

现在,示例建议创建一个DefaultParser,然而,我找到的最相似的是BasicParser。这是要使用的东西吗?还是我漏掉了什么?

4个回答

51

我使用了GnuParser()而不是DefaultParser(),运行良好。

CommandLineParser parser = new GnuParser();

更新: 在CLI的1.3.1版本中,GnuParser()现在已经弃用。所以我只需添加:

import org.apache.commons.cli.DefaultParser;

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

现在一切正常!


13

4
但是Maven目前只有1.2版。Maven何时会推出1.3-SNAPSHOT版本? - Raj
你在哪里找到可以下载的1.3-Snapshot? - VH-NZZ

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(以及实现解析器)获取更多信息。


4

这个DefaultParser类是Apache CLI 1.3的一部分,所以如果要使用它,您需要将类路径更新为jar版本1.3。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接