Подтвердить что ты не робот

Apache Commons CLI: замена устаревшего OptionBuilder?

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());
4b9b3361

Ответ 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. То есть статический builder() метод Option возвращает Option.Builder, а конечный вызов build() дает Option.