【问题标题】:Apache Commons CLI: replacement for deprecated OptionBuilder?Apache Commons CLI:替代已弃用的 OptionBuilder?
【发布时间】:2016-05-05 04:36:38
【问题描述】:

IntelliJ 显示在 http://commons.apache.org/proper/commons-cli/usage.html 的此示例代码中不推荐使用 OptionBuilder。

我应该用什么来代替?

import org.apache.commons.cli.*;

Options options = new Options();
options.addOption(OptionBuilder.withLongOpt( "block-size" )
       .withDescription( "use SIZE-byte blocks" )
       .hasArg()
       .withArgName("SIZE")
       .create());

【问题讨论】:

    标签: java apache-commons apache-commons-cli


    【解决方案1】:

    使用(内部)类Option.Builder,如

    Option option = Option.builder("a")
     .required(true)
     .longOpt("arg-name")
     .build();
    

    参照。 Option.Builder Java-Doc。 IE。 Option 的静态 builder() 方法返回一个 Option.Builder,而对 build() 的尾随调用为您提供一个 Option

    【讨论】:

      【解决方案2】:

      来自http://commons.apache.org/proper/commons-cli/javadocs/api-release/index.html

      已弃用。从 1.3 开始,改用 Option.builder(String)

      这是替换:

      Options options = new Options();
      Option option = Option.builder("a")
          .longOpt( "block-size" )
          .desc( "use SIZE-byte blocks"  )
          .hasArg()
          .argName( "SIZE" )
          .build();
      options.addOption( option );
      

      【讨论】:

      • 注意:如果您通过 groovy 遇到问题,可能是因为您使用的是 java 7。当我使用带有 commons-cli-1.4.jar 的 java 7 运行时时,我会获取signature of method: static org.apache.commons.cli.Option.builder() is applicable for argument types
      猜你喜欢
      • 2018-08-07
      • 1970-01-01
      • 2022-12-02
      • 2016-01-17
      • 2020-03-03
      • 2013-03-21
      • 2012-09-10
      • 1970-01-01
      • 2013-04-28
      相关资源
      最近更新 更多