अपाचे कॉमन्स सीएलआई - गुण विकल्प

एक गुण विकल्प को एक कमांड लाइन पर उसके नाम और उसके संबंधित गुणों जैसे सिंटैक्स द्वारा दर्शाया गया है, जो जावा प्रॉपर्टीज़ फ़ाइल के समान है। निम्नलिखित उदाहरण पर विचार करें, यदि हम विकल्प दे रहे हैं जैसे -DrollNo = 1 -Dclass = VI -Dname = Mahesh, हमें प्रत्येक मान को गुणों के रूप में संसाधित करना चाहिए। आइए कार्रवाई में कार्यान्वयन तर्क देखें।

उदाहरण

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

उत्पादन

कुंजी मूल्य जोड़े के रूप में विकल्प पास करते समय फ़ाइल को चलाएं और परिणाम देखें।

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