Параметр Аргумент представлен в командной строке своим именем и соответствующим значением. Например, если опция присутствует, то пользователь должен передать ее значение. Рассмотрим следующий пример: если мы печатаем журналы в некоторый файл, мы хотим, чтобы пользователь вводил имя файла журнала с параметром аргумента logFile.
пример
CLITester.java
import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.CommandLineParser; import org.apache.commons.cli.DefaultParser; import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; import org.apache.commons.cli.ParseException; public class CLITester { public static void main(String[] args) throws ParseException { Options options = new Options(); Option logfile = Option.builder() .longOpt("logFile") .argName("file" ) .hasArg() .desc("use given file for log" ) .build(); options.addOption(logfile); CommandLineParser parser = new DefaultParser(); CommandLine cmd = parser.parse( options, args); // has the logFile argument been passed? if(cmd.hasOption("logFile")) { //get the logFile argument passed System.out.println( cmd.getOptionValue( "logFile" ) ); } } }
Выход
Запустите файл, передав в качестве опции параметр —logFile, в качестве значения параметра укажите имя файла и просмотрите результат.