लिनक्स टर्मिनल में एक .JAR फ़ाइल कैसे बनाएं और निष्पादित करें


A JAR ( Java ARchive ) प्लेटफ़ॉर्म-स्वतंत्र फ़ाइल स्वरूप है जिसका उपयोग कई जावा क्लास फ़ाइलों और संबद्ध मेटाडेटा और संसाधनों जैसे टेक्स्ट, चित्र आदि को एक फ़ाइल में एकत्र करने के लिए किया जाता है। वितरण के लिए।

यह जावा रनटाइम को एक संग्रह फ़ाइल में कुशलतापूर्वक एक संपूर्ण एप्लिकेशन को तैनात करने की अनुमति देता है, और सुरक्षा जैसे कई लाभ प्रदान करता है, इसके तत्व संकुचित हो सकते हैं, डाउनलोड समय को छोटा कर सकते हैं, पैकेज सीलिंग और संस्करण के लिए अनुमति देते हैं, पोर्टेबिलिटी का समर्थन करते हैं। यह एक्सटेंशन के लिए पैकेजिंग का भी समर्थन करता है।

इस लेख में, हम दिखाएंगे कि एक साधारण जावा एप्लिकेशन कैसे बनाया जाए और इसे JAR फ़ाइल में बंडल करें, और लिनक्स टर्मिनल से .jar फ़ाइल निष्पादित करने का तरीका प्रदर्शित करें।

ऐसा करने के लिए, आपके पास जावा एप्लिकेशन को लाऊच करने के लिए जावा कमांड लाइन टूल स्थापित होना चाहिए, और JAR फ़ाइल में एनकैप्सुलेट किए गए प्रोग्राम को निष्पादित करने के लिए -jar फ्लैग। जब इस ध्वज का उपयोग किया जाता है, तो निर्दिष्ट JAR फ़ाइल सभी उपयोगकर्ता वर्गों का स्रोत होती है, और अन्य वर्ग पथ सेटिंग्स को अनदेखा किया जाता है।

कैसे लिनक्स में एक JAR फ़ाइल बनाने के लिए

1। प्रदर्शन उद्देश्य के लिए पहले TecmintApp नामक एप्लिकेशन के लिए एक मुख्य विधि के साथ एक सरल जावा वर्ग लिखकर शुरू करें।

$ vim TecmintApp.java

निम्न कोड को TecmintApp.java फ़ाइल पर कॉपी और पेस्ट करें।

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

फ़ाइल को सहेजें और इसे बंद करें।

2। अगला, हमें JAR और जार उपयोगिताओं का उपयोग करके कक्षा को JAR फ़ाइल में संकलित और पैक करने की आवश्यकता है के रूप में दिखाया।

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

3। एक बार tecmintapp.jar बनाया, अब आप दिखाए गए अनुसार java कमांड का उपयोग करके फ़ाइल को उत्तेजित कर सकते हैं।

$ java -jar tecmintapp.jar

no main manifest attribute, in tecmintapp.jar

उपरोक्त कमांड के आउटपुट से, हमें एक त्रुटि का सामना करना पड़ा। JVM ( जावा वर्चुअल मशीन ) हमारी मुख्य प्रकट विशेषता नहीं पा सका, इस प्रकार यह मुख्य विधि युक्त मुख्य वर्ग का पता नहीं लगा सका ( सार्वजनिक स्थैतिक शून्य main (String [] args))।

JAR फ़ाइल में एक प्रकट होना चाहिए जिसमें एक पंक्ति होती है जिसमें मुख्य-वर्ग: classname होता है जो वर्ग को मुख्य विधि से परिभाषित करता है जो हमारे आवेदन के शुरुआती बिंदु के रूप में कार्य करता है।

4। उपरोक्त त्रुटि को ठीक करने के लिए, हमें अपने कोड के साथ प्रकट विशेषता शामिल करने के लिए JAR फ़ाइल को अपडेट करना होगा। आइए एक MANIFEST.MF फ़ाइल बनाएं।

$ vim MANIFEST.MF

निम्न पंक्ति को MANIFEST.MF फ़ाइल में कॉपी और पेस्ट करें।

Main-Class:  TecmintApp

फ़ाइल को सहेजें और निम्न कमांड का उपयोग करके फ़ाइल को MANIFEST.MF हमारे tecmintapp.jar में जोड़ें।

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

5। अंत में, जब हमने JAR फ़ाइल को फिर से निष्पादित किया, तो इसे आउटपुट में दिखाए अनुसार अपेक्षित परिणाम प्राप्त करना चाहिए।

$ java -jar tecmintapp.jar

Just executed TecmintApp!

अधिक जानकारी के लिए, java , javac और jar कमांड मैन पेज देखें।

$ man java
$ man javac
$ man jar

संदर्भ : JAR फ़ाइलों में पैकेजिंग कार्यक्रम।

बस इतना ही! इस संक्षिप्त लेख में, हमने बताया है कि एक साधारण जावा एप्लिकेशन कैसे बनाया जाए और इसे JAR फ़ाइल में बंडल करें, और टर्मिनल से .jar फ़ाइल निष्पादित करने का तरीका प्रदर्शित किया। यदि आपके पास साझा करने के लिए कोई प्रश्न या पूरक विचार हैं, तो नीचे दिए गए फीडबैक फॉर्म का उपयोग करें।