【问题标题】:DefaultParser in Apache Commons CLIApache Commons CLI 中的 DefaultParser
【发布时间】:2013-03-21 21:25:57
【问题描述】:

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

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

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

【问题讨论】:

    标签: java command-line-interface apache-commons


    【解决方案1】:

    我用GnuParser()代替DefaultParser(),效果很好。

    CommandLineParser parser = new GnuParser();

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

    import org.apache.commons.cli.DefaultParser;

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

    一切都很好!

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 但是 maven 只有到 1.2。 maven 什么时候会得到 1.3-SNAPSHOT?
      • 在哪里可以找到 1.3-Snapshot 供下载?
      【解决方案3】:

      我在使用 commons-cli 1.2 关注 same usage guide 时遇到了同样的问题,并找到了以下可用的解析器:

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

      它们都扩展了 org.apache.commons.cli.Parser 并且只实现了flatten 方法。您可以查看Parser's javadoc(和实现解析器)了解更多信息。

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          猜你喜欢
          • 2019-01-03
          • 1970-01-01
          • 1970-01-01
          • 2022-12-02
          • 1970-01-01
          • 2016-12-18
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多