Apache Commons CLI - Tùy chọn thuộc tính

Tùy chọn Thuộc tính được biểu diễn trên một dòng lệnh bằng tên của nó và các thuộc tính tương ứng của nó như cú pháp, tương tự như tệp thuộc tính java. Hãy xem xét ví dụ sau, nếu chúng ta đang truyền các tùy chọn như -DrollNo = 1 -Dclass = VI -Dname = Mahesh, chúng ta nên xử lý từng giá trị dưới dạng thuộc tính. Hãy xem logic triển khai trong hành động.

Thí dụ

CLITester.java

import java.util.Properties;

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 propertyOption = Option.builder()
         .longOpt("D")
         .argName("property=value" )
         .hasArgs()
         .valueSeparator()
         .numberOfArgs(2)
         .desc("use value for given properties" )
         .build();
      
      options.addOption(propertyOption);
      CommandLineParser parser = new DefaultParser();
      CommandLine cmd = parser.parse( options, args);
      
      if(cmd.hasOption("D")) {
         Properties properties = cmd.getOptionProperties("D");
         System.out.println("Class: " + properties.getProperty("class"));
         System.out.println("Roll No: " + properties.getProperty("rollNo"));
         System.out.println("Name: " + properties.getProperty("name"));
      }
   }
}

Đầu ra

Chạy tệp, trong khi chuyển các tùy chọn dưới dạng các cặp giá trị khóa và xem kết quả.

java CLITester -DrollNo = 1 -Dclass = VI -Dname = Mahesh
Class: VI
Roll No: 1
Name: Mahesh