Apache Commons CLI:替代已弃用的 OptionBuilder?

2022-09-02 01:19:40

IntelliJ 表明 OptionBuilder 在此示例代码中已从 http://commons.apache.org/proper/commons-cli/usage.html 弃用。

我应该使用什么作为替代品?

import org.apache.commons.cli.*;

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

答案 1

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 );

答案 2

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

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

Cf. Option.Builder Java-Doc.即,返回 a 的静态方法和尾随调用 to 会给你一个 .builder()OptionOption.Builderbuild()Option


推荐