কীভাবে লিনাক্স টার্মিনালে একটি জার ফাইল তৈরি এবং কার্যকর করতে হয়


একটি জেআর (জাভা আর্কাইভ) প্ল্যাটফর্ম-স্বতন্ত্র ফাইল ফর্ম্যাট যা জাভা ক্লাসের অনেকগুলি ফাইল এবং সম্পর্কিত মেটাডেটা এবং সংস্থান যেমন পাঠ্য, চিত্র ইত্যাদিকে বিতরণের জন্য একটি ফাইলে একত্রিত করতে ব্যবহৃত হয়।

এটি জাভা রানটাইমগুলি দক্ষতার সাথে একটি আর্কাইভ ফাইলে একটি সম্পূর্ণ অ্যাপ্লিকেশন স্থাপন করতে দেয় এবং সুরক্ষার মতো অনেক সুবিধা সরবরাহ করে, এর উপাদানগুলি সংকুচিত হতে পারে, ডাউনলোডের সময়কে সংক্ষিপ্ত করতে পারে, প্যাকেজ সিলিং এবং সংস্করণকরণের অনুমতি দেয়, বহনযোগ্যতা সমর্থন করে। এটি এক্সটেনশনের জন্য প্যাকেজিং সমর্থন করে।

এই নিবন্ধে, আমরা কীভাবে একটি সাধারণ জাভা অ্যাপ্লিকেশন তৈরি করব এবং এটিকে একটি জেআর ফাইলগুলিতে বান্ডিল করব এবং লিনাক্স টার্মিনাল থেকে .ar ফাইলটি কীভাবে কার্যকর করতে হবে তা প্রদর্শন করব।

এটি করার জন্য, জাভা অ্যাপ্লিকেশন আরম্ভ করার জন্য আপনার জাভা কমান্ড লাইন সরঞ্জাম ইনস্টল করা থাকতে হবে এবং একটি জেআর ফাইলে এনক্যাপুলেটেড একটি প্রোগ্রাম চালানোর জন্য -jar পতাকা থাকতে হবে। যখন এই পতাকাটি ব্যবহৃত হয়, নির্দিষ্ট জেআর ফাইলটি সমস্ত ব্যবহারকারীর শ্রেণীর উত্স এবং অন্যান্য শ্রেণীর পাথ সেটিংস উপেক্ষা করা হয়।

কীভাবে লিনাক্সে জেআর ফাইল তৈরি করবেন

১. প্রথমে টেকমিন্ট অ্যাপ নামক একটি অ্যাপ্লিকেশনটির জন্য একটি প্রধান পদ্ধতি সহ একটি সাধারণ জাভা ক্লাস লেখার মাধ্যমে প্রারম্ভিক উদ্দেশ্যে start

$ vim TecmintApp.java

নিম্নলিখিত কোডটি TecmintApp.java ফাইলটিতে অনুলিপি করুন এবং আটকান।

public class TecmintApp {
	public static void main(String[] args){
		System.out.println(" Just executed TecmintApp! ");
	}
}

ফাইলটি সংরক্ষণ করুন এবং এটি বন্ধ করুন।

২. পরবর্তী, জাভা এবং জার ইউটিলিটিগুলি যেমন দেখানো হয়েছে তা ব্যবহার করে আমাদের ক্লাসটি একটি জেআর ফাইলে সংকলন এবং প্যাক করতে হবে।

$ javac -d . TecmintApp.java
$ ls
$ jar cvf tecmintapp.jar TecmintApp.class
$ ls

৩. একবার tecmintapp.jar তৈরি হয়ে গেলে এখন আপনি জাভা কমান্ডটি দেখানো হিসাবে ব্যবহার করে ফাইলটি উত্তেজিত করতে পারবেন।

$ java -jar tecmintapp.jar

no main manifest attribute, in tecmintapp.jar

উপরের কমান্ডের আউটপুট থেকে আমরা একটি ত্রুটির মুখোমুখি হয়েছি। জেভিএম (জাভা ভার্চুয়াল মেশিন) আমাদের প্রধান ম্যানিফেস্ট বৈশিষ্ট্যটি খুঁজে পেল না, সুতরাং এটি মূল পদ্ধতি (পাবলিক স্ট্যাটিক শূন্য মূল (স্ট্রিং [] আরগস)) সহ প্রধান শ্রেণীর সন্ধান করতে পারে না।

জার ফাইলটিতে একটি ম্যানিফেস্ট থাকা উচিত যা ফর্মের একটি লাইন থাকে মেইন-ক্লাস: শ্রেণিকাম যা আমাদের পদ্ধতির প্রারম্ভিক পয়েন্ট হিসাবে কাজ করে এমন প্রধান পদ্ধতির সাথে শ্রেণিকে সংজ্ঞায়িত করে।

৪. উপরের ত্রুটিটি ঠিক করতে, আমাদের কোড সহ ম্যানিফেস্টের বৈশিষ্ট্য অন্তর্ভুক্ত করার জন্য আমাদের জেআর ফাইলটি আপডেট করতে হবে। আসুন একটি MANIFEST.MF ফাইল তৈরি করুন।

$ vim MANIFEST.MF

নিম্নলিখিত লাইনটি MANIFEST.MF ফাইলে অনুলিপি করুন এবং আটকান।

Main-Class:  TecmintApp

ফাইলটি সংরক্ষণ করুন এবং নীচের কমান্ডটি ব্যবহার করে আমাদের tecmintapp.jar ফাইলটিতে MANIFEST.MF ফাইল যুক্ত করুন।

$ jar cvmf MANIFEST.MF tecmintapp.jar TecmintApp.class

৫. অবশেষে, যখন আমরা আবার জেআর ফাইলটি কার্যকর করলাম তখন আউটপুটটিতে প্রদর্শিত হিসাবে এটি প্রত্যাশিত ফলাফলটি উত্পন্ন করা উচিত।

$ java -jar tecmintapp.jar

Just executed TecmintApp!

আরও তথ্যের জন্য জাভা, জাভাক এবং জার কমান্ড ম্যান পৃষ্ঠাগুলি দেখুন।

$ man java
$ man javac
$ man jar

তথ্যসূত্র: জেআর ফাইলগুলিতে প্যাকেজিং প্রোগ্রাম।

এখানেই শেষ! এই সংক্ষিপ্ত নিবন্ধে, আমরা কীভাবে একটি সাধারণ জাভা অ্যাপ্লিকেশন তৈরি করব এবং এটিকে একটি জেআর ফাইলের মধ্যে বান্ডিল করব এবং টার্মিনাল থেকে একটি .jar ফাইলকে কীভাবে কার্যকর করতে হবে তা প্রদর্শন করেছি। আপনার যদি ভাগ করার জন্য কোনও প্রশ্ন বা পরিপূরক ধারণা থাকে তবে নীচের প্রতিক্রিয়া ফর্মটি ব্যবহার করুন।