Commons CLI API - Options with Arguments


How to manage options with arguments with Apache Commons CLI API?



An option with argument is an option that requires an input arguement. The argument value must be specified immediately after the option name. For example, "-i world", "-input world", "--input world" are alias of a single option with an argument.

An option with an argument can be managed with Apache Commons CLI API in 4 steps:

1. Define Options - An option with an argument can be defined and added to the options collection by long the addOption() method with 4 arguments. The 3rd argument "true" specifies that the option has an argument. For example:

import org.apache.commons.cli.Options;
      options.addOption("i", "input", true, "Input string");

2. Parse Options - An option with an argument can be parsed together with all other options in a single call of CommandLineParser.parse(). For example:

import org.apache.commons.cli.CommandLineParser;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.DefaultParser;
         CommandLineParser parser = new DefaultParser();
         CommandLine cmd = parser.parse( options, args);

3. Process Options - A long option can be processed by calling the CommandLine.hasOption() method and the CommandLine.getOptionValue() method. For example:

         } else if (cmd.hasOption("input")) {
            System.out.println("Hello "+cmd.getOptionValue("input"));

4. Print Options - An option with an argument can be printed out as help message together with all other options. For example:

import org.apache.commons.cli.HelpFormatter;
      HelpFormatter formatter = new HelpFormatter();
      formatter.printHelp("ArgumentOptionTest", options);


⇒ Commons CLI API - Options with Arguments Example

⇐ Commons CLI API - Long Options Example

⇑ Using commons-cli.jar in Java Programs

⇑⇑ FAQ for Apache Commons CLI JAR Library

2020-12-15, 560👍, 0💬