Apache Commons CLI - Opsi Argumen

Opsi Argumen ditunjukkan pada baris perintah dengan namanya dan nilainya yang sesuai. Misalnya, jika opsi ada, maka pengguna harus meneruskan nilainya. Pertimbangkan contoh berikut, jika kami mencetak log ke beberapa file, yang mana, kami ingin pengguna memasukkan nama file log dengan opsi argumen logFile.

Contoh

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

Keluaran

Jalankan file tersebut, sambil meneruskan --logFile sebagai opsi, nama file tersebut sebagai nilai opsi dan lihat hasilnya.

java CLITester --logFile test.log
test.log