Apache Commons CLI-인수 옵션

인수 옵션은 이름과 해당 값으로 명령 줄에 표시됩니다. 예를 들어 옵션이있는 경우 사용자는 해당 값을 전달해야합니다. 다음 예제를 고려하십시오. 로그를 일부 파일에 인쇄하는 경우 사용자가 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을 전달하고 옵션 값으로 파일 이름을 전달하고 결과를 확인합니다.

java CLITester --logFile test.log
test.log