Apache Commons CLI হলো একটি ওপেন সোর্স Java লাইব্রেরি যা কমান্ড লাইন ইন্টারফেস (CLI) তৈরির জন্য ব্যবহৃত হয়। এটি ডেভেলপারদের জন্য Java অ্যাপ্লিকেশনগুলোতে কমান্ড লাইন আর্গুমেন্টগুলি সহজে বিশ্লেষণ এবং পরিচালনা করার সুবিধা প্রদান করে। Apache Commons CLI-এর মাধ্যমে আপনি অ্যাপ্লিকেশনকে অধিক কার্যকরভাবে ব্যবহারকারীর ইনপুট গ্রহণ করতে সক্ষম হন এবং কমান্ড লাইন থেকে নির্দেশনা পাঠানোকে সহজ করে।
Apache Commons CLI হলো একটি Java লাইব্রেরি, যা কমান্ড লাইন ইন্টারফেস (CLI) অ্যাপ্লিকেশনে কমান্ড লাইন আর্গুমেন্ট পার্স করতে ব্যবহার করা হয়। এটি ব্যবহারকারীদের বিভিন্ন অপশন এবং আর্গুমেন্ট সরাসরি কমান্ড লাইন থেকে ইনপুট করতে সহায়তা করে এবং সেই আর্গুমেন্টগুলো প্রোগ্রামের ভিতরে প্রক্রিয়া করতে সহজ করে তোলে।
CLI এর অর্থ হলো Command Line Interface, যা মূলত GUI (Graphical User Interface) এর বিকল্প। CLI তে ব্যবহারকারীরা প্রোগ্রাম চালানোর সময় ফ্ল্যাগ এবং প্যারামিটার ব্যবহার করে কমান্ড দেয়। Apache Commons CLI এই আর্গুমেন্টগুলো পার্স করে এবং সেই অনুযায়ী অ্যাপ্লিকেশনের মধ্যে ফলাফল প্রদান করে।
Option Creation and Parsing:
-f বা --file এর মতো অপশন তৈরি করা যায়।Short and Long Options:
-h) এবং দীর্ঘ অপশন (যেমন --help) ব্যবহার করার সুযোগ দেয়।Required and Optional Options:
Arguments and Values:
-f file.txt অথবা --file=file.txt।Built-in Help Generation:
Group Options:
প্রথম ধাপে, আপনাকে Apache Commons CLI লাইব্রেরি প্রজেক্টে যোগ করতে হবে। Maven ব্যবহার করলে নিচের মতো করে Maven ডিপেন্ডেন্সি যোগ করতে হবে:
<dependency>
<groupId>commons-cli</groupId>
<artifactId>commons-cli</artifactId>
<version>1.4</version>
</dependency>
প্রথমে একটি Option তৈরি করতে হবে, যা প্রোগ্রামে ইনপুট হিসাবে আর্গুমেন্ট গ্রহণ করবে। একটি Option তৈরি করতে নিচের উদাহরণটি দেখুন:
import org.apache.commons.cli.Option;
import org.apache.commons.cli.Options;
public class CommandLineApp {
public static void main(String[] args) {
Options options = new Options();
// Option তৈরি
Option fileOption = new Option("f", "file", true, "ফাইলের নাম প্রদান করুন");
options.addOption(fileOption);
}
}
এখানে -f সংক্ষিপ্ত অপশন এবং --file দীর্ঘ অপশন হিসাবে তৈরি করা হয়েছে।
প্রোগ্রামটি কমান্ড লাইন আর্গুমেন্ট গ্রহণ করার জন্য একটি CommandLineParser তৈরি করতে হবে। Commons CLI এর DefaultParser ব্যবহার করে আর্গুমেন্টগুলো পার্স করা যায়।
import org.apache.commons.cli.*;
public class CommandLineApp {
public static void main(String[] args) {
Options options = new Options();
Option fileOption = new Option("f", "file", true, "ফাইলের নাম প্রদান করুন");
options.addOption(fileOption);
// CommandLineParser তৈরি করা
CommandLineParser parser = new DefaultParser();
try {
CommandLine cmd = parser.parse(options, args);
if (cmd.hasOption("f")) {
String filename = cmd.getOptionValue("f");
System.out.println("ফাইলের নাম: " + filename);
}
} catch (ParseException e) {
System.out.println("Error: " + e.getMessage());
}
}
}
Apache Commons CLI স্বয়ংক্রিয়ভাবে হেল্প মেসেজ জেনারেট করতে পারে, যা ব্যবহারকারীদের অপশনগুলোর তথ্য প্রদান করে।
import org.apache.commons.cli.HelpFormatter;
public class CommandLineApp {
public static void main(String[] args) {
Options options = new Options();
Option fileOption = new Option("f", "file", true, "ফাইলের নাম প্রদান করুন");
options.addOption(fileOption);
CommandLineParser parser = new DefaultParser();
HelpFormatter formatter = new HelpFormatter();
try {
CommandLine cmd = parser.parse(options, args);
if (cmd.hasOption("f")) {
String filename = cmd.getOptionValue("f");
System.out.println("ফাইলের নাম: " + filename);
} else {
formatter.printHelp("CommandLineApp", options);
}
} catch (ParseException e) {
formatter.printHelp("CommandLineApp", options);
}
}
}
উপরের উদাহরণে, যদি কোন অপশন দেওয়া না হয়, তাহলে হেল্প মেসেজ প্রদর্শিত হবে, যা ব্যবহারকারীদের জন্য অপশনগুলো সম্পর্কে তথ্য দেবে।
একাধিক অপশন তৈরি এবং তাদের মান সংগ্রহ করা যায়। নিচের উদাহরণে -f এবং -v এর মাধ্যমে ফাইলের নাম এবং ভার্বোস মোড সংগ্রহ করা হয়েছে।
public class CommandLineApp {
public static void main(String[] args) {
Options options = new Options();
Option fileOption = new Option("f", "file", true, "ফাইলের নাম প্রদান করুন");
Option verboseOption = new Option("v", "verbose", false, "ভার্বোস মোড চালু করুন");
options.addOption(fileOption);
options.addOption(verboseOption);
CommandLineParser parser = new DefaultParser();
try {
CommandLine cmd = parser.parse(options, args);
if (cmd.hasOption("f")) {
String filename = cmd.getOptionValue("f");
System.out.println("ফাইলের নাম: " + filename);
}
if (cmd.hasOption("v")) {
System.out.println("ভার্বোস মোড চালু করা হয়েছে");
}
} catch (ParseException e) {
System.out.println("Error: " + e.getMessage());
}
}
}
এখানে -f file.txt আর্গুমেন্ট দিলে ফাইলের নাম এবং -v দিলে ভার্বোস মোড চালু করা যাবে।
Apache Commons CLI অফিসিয়াল ডকুমেন্টেশন:
Apache Commons CLI Documentation
Baeldung Commons CLI Tutorial:
Baeldung Commons CLI Tutorial
Java Code Geeks Commons CLI Tutorial:
Java Code Geeks CLI Guide
Apache Commons CLI একটি সহজ এবং কার্যকরী লাইব্রেরি, যা জাভা অ্যাপ্লApache Commons CLI হলো জাভা ভিত্তিক একটি শক্তিশালী লাইব্রেরি, যা কমান্ড লাইন আর্গুমেন্ট পার্স করার জন্য ব্যবহৃত হয়। এটি ডেভেলপারদের জন্য সহজে কমান্ড লাইন অপশন তৈরি, আর্গুমেন্ট সংগ্রহ এবং প্রোগ্রাম ব্যবস্থাপনা সহজ করে তোলে। নিচে Apache Commons CLI এর কিছু বৈশিষ্ট্য এবং কাজের ধাপসমূহ দেওয়া হলো।
Apache Commons CLI হলো একটি ওপেন সোর্স Java লাইব্রেরি যা কমান্ড লাইন ইন্টারফেস (CLI) তৈরির জন্য ব্যবহৃত হয়। এটি ডেভেলপারদের জন্য Java অ্যাপ্লিকেশনগুলোতে কমান্ড লাইন আর্গুমেন্টগুলি সহজে বিশ্লেষণ এবং পরিচালনা করার সুবিধা প্রদান করে। Apache Commons CLI-এর মাধ্যমে আপনি অ্যাপ্লিকেশনকে অধিক কার্যকরভাবে ব্যবহারকারীর ইনপুট গ্রহণ করতে সক্ষম হন এবং কমান্ড লাইন থেকে নির্দেশনা পাঠানোকে সহজ করে।
Apache Commons CLI হলো একটি Java লাইব্রেরি, যা কমান্ড লাইন ইন্টারফেস (CLI) অ্যাপ্লিকেশনে কমান্ড লাইন আর্গুমেন্ট পার্স করতে ব্যবহার করা হয়। এটি ব্যবহারকারীদের বিভিন্ন অপশন এবং আর্গুমেন্ট সরাসরি কমান্ড লাইন থেকে ইনপুট করতে সহায়তা করে এবং সেই আর্গুমেন্টগুলো প্রোগ্রামের ভিতরে প্রক্রিয়া করতে সহজ করে তোলে।
CLI এর অর্থ হলো Command Line Interface, যা মূলত GUI (Graphical User Interface) এর বিকল্প। CLI তে ব্যবহারকারীরা প্রোগ্রাম চালানোর সময় ফ্ল্যাগ এবং প্যারামিটার ব্যবহার করে কমান্ড দেয়। Apache Commons CLI এই আর্গুমেন্টগুলো পার্স করে এবং সেই অনুযায়ী অ্যাপ্লিকেশনের মধ্যে ফলাফল প্রদান করে।
Option Creation and Parsing:
-f বা --file এর মতো অপশন তৈরি করা যায়।Short and Long Options:
-h) এবং দীর্ঘ অপশন (যেমন --help) ব্যবহার করার সুযোগ দেয়।Required and Optional Options:
Arguments and Values:
-f file.txt অথবা --file=file.txt।Built-in Help Generation:
Group Options:
প্রথম ধাপে, আপনাকে Apache Commons CLI লাইব্রেরি প্রজেক্টে যোগ করতে হবে। Maven ব্যবহার করলে নিচের মতো করে Maven ডিপেন্ডেন্সি যোগ করতে হবে:
<dependency>
<groupId>commons-cli</groupId>
<artifactId>commons-cli</artifactId>
<version>1.4</version>
</dependency>
প্রথমে একটি Option তৈরি করতে হবে, যা প্রোগ্রামে ইনপুট হিসাবে আর্গুমেন্ট গ্রহণ করবে। একটি Option তৈরি করতে নিচের উদাহরণটি দেখুন:
import org.apache.commons.cli.Option;
import org.apache.commons.cli.Options;
public class CommandLineApp {
public static void main(String[] args) {
Options options = new Options();
// Option তৈরি
Option fileOption = new Option("f", "file", true, "ফাইলের নাম প্রদান করুন");
options.addOption(fileOption);
}
}
এখানে -f সংক্ষিপ্ত অপশন এবং --file দীর্ঘ অপশন হিসাবে তৈরি করা হয়েছে।
প্রোগ্রামটি কমান্ড লাইন আর্গুমেন্ট গ্রহণ করার জন্য একটি CommandLineParser তৈরি করতে হবে। Commons CLI এর DefaultParser ব্যবহার করে আর্গুমেন্টগুলো পার্স করা যায়।
import org.apache.commons.cli.*;
public class CommandLineApp {
public static void main(String[] args) {
Options options = new Options();
Option fileOption = new Option("f", "file", true, "ফাইলের নাম প্রদান করুন");
options.addOption(fileOption);
// CommandLineParser তৈরি করা
CommandLineParser parser = new DefaultParser();
try {
CommandLine cmd = parser.parse(options, args);
if (cmd.hasOption("f")) {
String filename = cmd.getOptionValue("f");
System.out.println("ফাইলের নাম: " + filename);
}
} catch (ParseException e) {
System.out.println("Error: " + e.getMessage());
}
}
}
Apache Commons CLI স্বয়ংক্রিয়ভাবে হেল্প মেসেজ জেনারেট করতে পারে, যা ব্যবহারকারীদের অপশনগুলোর তথ্য প্রদান করে।
import org.apache.commons.cli.HelpFormatter;
public class CommandLineApp {
public static void main(String[] args) {
Options options = new Options();
Option fileOption = new Option("f", "file", true, "ফাইলের নাম প্রদান করুন");
options.addOption(fileOption);
CommandLineParser parser = new DefaultParser();
HelpFormatter formatter = new HelpFormatter();
try {
CommandLine cmd = parser.parse(options, args);
if (cmd.hasOption("f")) {
String filename = cmd.getOptionValue("f");
System.out.println("ফাইলের নাম: " + filename);
} else {
formatter.printHelp("CommandLineApp", options);
}
} catch (ParseException e) {
formatter.printHelp("CommandLineApp", options);
}
}
}
উপরের উদাহরণে, যদি কোন অপশন দেওয়া না হয়, তাহলে হেল্প মেসেজ প্রদর্শিত হবে, যা ব্যবহারকারীদের জন্য অপশনগুলো সম্পর্কে তথ্য দেবে।
একাধিক অপশন তৈরি এবং তাদের মান সংগ্রহ করা যায়। নিচের উদাহরণে -f এবং -v এর মাধ্যমে ফাইলের নাম এবং ভার্বোস মোড সংগ্রহ করা হয়েছে।
public class CommandLineApp {
public static void main(String[] args) {
Options options = new Options();
Option fileOption = new Option("f", "file", true, "ফাইলের নাম প্রদান করুন");
Option verboseOption = new Option("v", "verbose", false, "ভার্বোস মোড চালু করুন");
options.addOption(fileOption);
options.addOption(verboseOption);
CommandLineParser parser = new DefaultParser();
try {
CommandLine cmd = parser.parse(options, args);
if (cmd.hasOption("f")) {
String filename = cmd.getOptionValue("f");
System.out.println("ফাইলের নাম: " + filename);
}
if (cmd.hasOption("v")) {
System.out.println("ভার্বোস মোড চালু করা হয়েছে");
}
} catch (ParseException e) {
System.out.println("Error: " + e.getMessage());
}
}
}
এখানে -f file.txt আর্গুমেন্ট দিলে ফাইলের নাম এবং -v দিলে ভার্বোস মোড চালু করা যাবে।
Apache Commons CLI অফিসিয়াল ডকুমেন্টেশন:
Apache Commons CLI Documentation
Baeldung Commons CLI Tutorial:
Baeldung Commons CLI Tutorial
Java Code Geeks Commons CLI Tutorial:
Java Code Geeks CLI Guide
Apache Commons CLI একটি সহজ এবং কার্যকরী লাইব্রেরি, যা জাভা অ্যাপ্লApache Commons CLI হলো জাভা ভিত্তিক একটি শক্তিশালী লাইব্রেরি, যা কমান্ড লাইন আর্গুমেন্ট পার্স করার জন্য ব্যবহৃত হয়। এটি ডেভেলপারদের জন্য সহজে কমান্ড লাইন অপশন তৈরি, আর্গুমেন্ট সংগ্রহ এবং প্রোগ্রাম ব্যবস্থাপনা সহজ করে তোলে। নিচে Apache Commons CLI এর কিছু বৈশিষ্ট্য এবং কাজের ধাপসমূহ দেওয়া হলো।
আপনি আমাকে যেকোনো প্রশ্ন করতে পারেন, যেমনঃ
Are you sure to start over?