Apache Commons CLI একটি জনপ্রিয় লাইব্রেরি যা কমান্ড লাইন আর্গুমেন্ট পার্সিংয়ের জন্য ব্যবহৃত হয়। এটি জাভা অ্যাপ্লিকেশনগুলিতে ইউজার ইনপুট সংগ্রহ করার একটি কার্যকরী উপায় সরবরাহ করে। আপনি এই লাইব্রেরিটি ব্যবহার করে কমান্ড লাইন আর্গুমেন্টগুলি সহজে প্রসেস করতে পারেন।
Gradle একটি বিল্ড টুল, এবং এটি Java প্রোজেক্টে ডিপেনডেন্সি ম্যানেজ করার জন্য খুবই জনপ্রিয়। এখানে আমরা দেখবো কীভাবে Apache Commons CLI গ্র্যাডেল প্রকল্পে অন্তর্ভুক্ত করা যায় এবং কীভাবে এটি ব্যবহার করা হয়।
1. Apache Commons CLI অন্তর্ভুক্ত করার জন্য Gradle ডিপেনডেন্সি
Gradle প্রকল্পে Apache Commons CLI ব্যবহার করার জন্য, প্রথমে আপনাকে এই লাইব্রেরিটির ডিপেনডেন্সি আপনার build.gradle ফাইলে যোগ করতে হবে।
1.1. Gradle এর মাধ্যমে Apache Commons CLI অন্তর্ভুক্ত করা
আপনার build.gradle ফাইলে নিম্নলিখিত ডিপেনডেন্সি যোগ করুন:
dependencies {
implementation 'org.apache.commons:commons-cli:1.4'
}
এটি Gradle কে commons-cli লাইব্রেরির সংস্করণ 1.4 যুক্ত করতে বলবে। আপনি যদি অন্য কোনো সংস্করণ ব্যবহার করতে চান, তবে সংশ্লিষ্ট সংস্করণটি উল্লেখ করুন।
2. Apache Commons CLI ব্যবহার করা
এখন, আপনি Apache Commons CLI ব্যবহার করে কমান্ড লাইন আর্গুমেন্ট পার্সিং করতে পারেন। নিচে একটি সাধারণ উদাহরণ দেয়া হলো যেখানে কমান্ড লাইন আর্গুমেন্টগুলি Commons CLI দিয়ে প্রসেস করা হচ্ছে।
2.1. CLI (Command Line Interface) উদাহরণ
import org.apache.commons.cli.*;
public class CommandLineExample {
public static void main(String[] args) {
// কমান্ড লাইন আর্গুমেন্টের জন্য একটি Options অবজেক্ট তৈরি করা
Options options = new Options();
// আর্গুমেন্ট আচার-ব্যবহার (Arguments) সংজ্ঞায়িত করা
options.addOption("h", "help", false, "Show help");
options.addOption("n", "name", true, "Your name");
options.addOption("a", "age", true, "Your age");
// CommandLineParser তৈরি করা
CommandLineParser parser = new DefaultParser();
CommandLine cmd = null;
try {
// কমান্ড লাইন আর্গুমেন্ট পার্স করা
cmd = parser.parse(options, args);
// 'help' অপশন চেক করা
if (cmd.hasOption("h")) {
HelpFormatter formatter = new HelpFormatter();
formatter.printHelp("CommandLineExample", options);
System.exit(0);
}
// 'name' এবং 'age' আর্গুমেন্টের মান গ্রহণ করা
if (cmd.hasOption("n")) {
String name = cmd.getOptionValue("n");
System.out.println("Hello, " + name + "!");
}
if (cmd.hasOption("a")) {
String age = cmd.getOptionValue("a");
System.out.println("Your age is " + age);
}
} catch (ParseException e) {
System.out.println("Parsing failed. Reason: " + e.getMessage());
HelpFormatter formatter = new HelpFormatter();
formatter.printHelp("CommandLineExample", options);
}
}
}
2.2. কোড ব্যাখ্যা:
- Options: এটি কমান্ড লাইন আর্গুমেন্টের জন্য সম্ভাব্য অপশনগুলির তালিকা ধারণ করে। এখানে আমরা তিনটি অপশন তৈরি করেছি:
-hবা--help: এই অপশনটি ব্যবহারকারীকে সাহায্য দেখানোর জন্য।-nবা--name: ব্যবহারকারীর নাম নেওয়ার জন্য।-aবা--age: ব্যবহারকারীর বয়স নেওয়ার জন্য।
- CommandLineParser: এটি কমান্ড লাইন আর্গুমেন্ট গুলি পার্স করার জন্য ব্যবহৃত হয়।
DefaultParserএকটি সাধারণ এবং কার্যকরী পার্সার। - HelpFormatter: এটি কমান্ড লাইন অ্যাপ্লিকেশনটি কিভাবে ব্যবহার করতে হবে তার সাহায্য প্রদর্শন করতে ব্যবহৃত হয়।
- cmd.hasOption(): এই মেথডটি চেক করে যে নির্দিষ্ট অপশন (যেমন
-h,-n,-a) উপস্থিত আছে কিনা।
2.3. আউটপুট উদাহরণ:
যদি আপনি
java CommandLineExample -n John -a 25রান করেন, আউটপুট হবে:Hello, John! Your age is 25যদি আপনি
java CommandLineExample -hরান করেন, আউটপুট হবে:Usage: CommandLineExample -a <age> Your age -h, --help Show help -n <name> Your name
3. Gradle দিয়ে প্রকল্প রান করা
যেহেতু আপনি Gradle ব্যবহার করছেন, তাই gradle run কমান্ডের মাধ্যমে এই প্রোগ্রামটি রান করতে পারবেন। প্রথমে আপনার build.gradle ফাইলে application প্লাগইনটি যোগ করতে হবে:
plugins {
id 'application'
}
mainClassName = 'CommandLineExample' // আপনার মূল ক্লাসের নাম
এখন আপনি কমান্ড লাইন থেকে gradle run দিয়ে প্রোগ্রামটি চালাতে পারেন।
সারাংশ
Apache Commons CLI লাইব্রেরি ব্যবহার করে আপনি কমান্ড লাইন আর্গুমেন্টগুলি সহজে পার্স করতে পারেন। Gradle এর মাধ্যমে Apache Commons CLI অন্তর্ভুক্ত করার জন্য implementation 'org.apache.commons:commons-cli:1.4' ডিপেনডেন্সি ব্যবহার করতে হয়। এর পরে, আপনি Java ক্লাসে Options, CommandLineParser, এবং HelpFormatter ব্যবহার করে কমান্ড লাইন আর্গুমেন্ট হ্যান্ডল করতে পারবেন। Gradle দিয়ে প্রকল্প রান করা সম্ভব এবং আপনি সহজেই CLI ভিত্তিক প্রোগ্রাম তৈরি করতে পারেন।
Read more