CLI Apache Commons - Option d'argument

Une option Argument est représentée sur une ligne de commande par son nom et sa valeur correspondante. Par exemple, si l'option est présente, l'utilisateur doit transmettre sa valeur. Prenons l'exemple suivant, si nous imprimons des journaux dans un fichier, pour lequel nous voulons que l'utilisateur saisisse le nom du fichier journal avec l'option d'argument logFile.

Exemple

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

Production

Exécutez le fichier, en passant --logFile comme option, nom du fichier comme valeur de l'option et voyez le résultat.

java CLITester --logFile test.log
test.log