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());
Ответы
Ответ 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
.