ग्रहण में शामिल बाहरी पुस्तकालयों के साथ जार कैसे बनाएं?


89

मैं उस प्रोजेक्ट के साथ किया जाता हूं जो डेटाबेस (MySQL) से जुड़ता है। अब मैं इस परियोजना को जार के रूप में निर्यात करना चाहता हूं। लेकिन मुझे नहीं पता कि इसकी बाहरी निर्भरता को कैसे शामिल किया जाए? क्या इसे ग्रहण में करने का कोई तरीका है या मुझे इसके लिए किसी स्क्रिप्ट का उपयोग करना चाहिए?


आप ऐप को कैसे वितरित करना चाहते हैं। अंतिम उपयोगकर्ता के लिए? एक नेटवर्क / इंटरनेट, एक डिस्क या फ्लैश ड्राइव, .. और बाकी? ऐप करता है। एक जीयूआई है?
एंड्रयू थॉम्पसन

जवाबों:


140

जब आप अपनी परियोजना को 'रन करने योग्य जार' के रूप में निर्यात करते हैं (प्रोजेक्ट पर राइट माउस -> एक्सपोर्ट -> रननेबल जार) तो आपके पास जनरेट किए गए जार में सभी निर्भरता को पैकेज करने का विकल्प होता है। आपके पुस्तकालयों को निर्यात करने के लिए इसके दो अन्य तरीके (स्क्रीनशॉट देखें) भी हैं, यह तय करते समय लाइसेंस के बारे में जानकारी रखें कि आप किस पैकेजिंग विधि का उपयोग करेंगे।

पैकेज लाइब्रेरी

'लॉन्च कॉन्फ़िगरेशन' ड्रॉपडाउन एक main(String[])विधि युक्त कक्षाओं के साथ आबादी है । चयनित वर्ग तब शुरू किया जाता है जब आप जार चलाते हैं।

एक रनिंग जार के रूप में निर्यात करना आपके बिल्ड पथ पर निर्भरता का उपयोग करता है (प्रोजेक्ट पर राइट माउस -> बिल्ड पाथ -> कॉन्फिगरेशन बिल्ड सिस्टम)। जब आप एक 'रेगुलर' (नॉन-रननेबल) जार के रूप में निर्यात करते हैं, तो आप अपने प्रोजेक्ट (एस) में किसी भी फाइल का चयन कर सकते हैं। यदि आपके पास अपने प्रोजेक्ट फ़ोल्डर में पुस्तकालय हैं, तो आप उन्हें शामिल कर सकते हैं लेकिन बाहरी निर्भरताएं, उदाहरण के लिए, शामिल नहीं किया जा सकता (मावेन परियोजनाओं के लिए, यहां खोजें )।


2
@ जोस्ट: सर, मुझे रन कॉन्फ़िगरेशन हेडिंग के तहत कोई विकल्प नहीं मिलता है, जब एक रन योग्य जार के रूप में जावा एप्लिकेशन को निर्यात करने की कोशिश की जाती है। क्या गलत या लापता हो सकता है?
चूहा-ए-तात-ए-तात रताटौइल

ग्रहण उन main()तरीकों को सूचीबद्ध करता है जिनके बारे में वह जानता है। अपना एप्लिकेशन एक बार चलाने का प्रयास करें (राइट क्लिक प्रोजेक्ट, रन अस, जावा एप्लिकेशन) और फिर निर्यात करें।
जोस्ट

यह इस सवाल के लिए अप्रासंगिक है, क्योंकि यह स्पष्ट रूप से ग्रहण बताता है। कृपया एक नया प्रश्न पोस्ट करें यदि आपको कोई उत्तर नहीं मिल रहा है (जो निश्चित रूप से इस साइट पर पहले से ही कहीं है)
Joost

1
किसी को पता है कि ग्रहण में एक गैर-चलने योग्य जार के लिए यह कैसे करना है? 'आवश्यक पुस्तकालयों' से संबंधित कोई विकल्प नहीं हैं।
jb1

@ jb1 क्या आपने कभी इसका पता लगाया?
TheKingElessar

9

आप एक जार बनाने के लिए निर्यात-> जावा-> रन करने योग्य जार का उपयोग कर सकते हैं जिसमें इसकी निर्भरताएं शामिल हैं

वैकल्पिक रूप से, आप थ्रैजर एक्लिप्स प्लगइन के साथ-साथ जार को बंडल करने के लिए उपयोग कर सकते हैं


5

आप प्रोजेक्ट पर राइट-क्लिक कर सकते हैं, एक्सपोर्ट पर क्लिक कर सकते हैं, 'जार' टाइप करें, 'रन करने योग्य जार फाइल एक्सपोर्ट' चुनें। वहां आपके पास विकल्प है 'जरुरी लाइब्रेरी को जेएआर में निकालें'।


3

व्यक्तिगत रूप से,

ऊपर दिए गए किसी भी उत्तर ने मेरे लिए काम नहीं किया, मुझे अभी भी NoClassDefFound त्रुटियाँ हो रही हैं (मैं निर्भरता के लिए मावेन का उपयोग कर रहा हूँ)। मेरा समाधान "mvan क्लीन इनस्टॉल" का उपयोग करके निर्माण करना था और "[प्रोजेक्ट] -jar-with-dependencies.jar" का उपयोग करना था जो यह कमांड बनाता है। इसी तरह ग्रहण में आप प्रोजेक्ट पर राइट क्लिक कर सकते हैं -> रन अस -> मावेन इंस्टॉल करें और यह जार को लक्ष्य फ़ोल्डर में रखेगा।


2

यदि आप एक जावा वेब-प्रोजेक्ट की सभी JAR- फ़ाइलों को निर्यात करना चाहते हैं, तो एक ज़िप-टूल (जैसे 7-ज़िप) के साथ नवीनतम उत्पन्न WAR- फ़ाइल खोलें, / WEB-INF / lib / फ़ोल्डर पर जाएँ। यहां आपको इस परियोजना के लिए आवश्यक सभी JAR- फाइलें मिलेंगी (जैसा कि "संदर्भित लाइब्रेरी" में सूचीबद्ध है)।


0

अपने स्रोत को जार में निर्यात करते समय, सुनिश्चित करें कि आप विकल्पों में से रन करने योग्य जार विकल्प का चयन करते हैं। फिर चुनें कि क्या आप सभी निर्भरता जार को पैकेज करना चाहते हैं या बस उन्हें सीधे जार फ़ाइल में शामिल करें। यह उस परियोजना पर निर्भर करता है जिस पर आप काम कर रहे हैं।

आप तब java को सीधे java -jar example.jar द्वारा चलाते हैं।


0

ग्रहण में जार फ़ाइल जनरेट करने के लिए उस प्रोजेक्ट पर राइट क्लिक करें, जिसके लिए आप जनरेट करना चाहते हैं, एक्सपोर्ट> जावा> रन करने योग्य जार फ़ाइल चुनें,

यहाँ छवि विवरण दर्ज करें

यहाँ छवि विवरण दर्ज करें

इसका निर्माण जार जिसमें Pom.xml से सभी निर्भरताएं शामिल हैं, लेकिन कृपया सुनिश्चित करें कि यदि आप अपने आवेदन के लिए तीसरे पक्ष की निर्भरता का उपयोग कर रहे हैं तो लाइसेंस जारी करें।


0

यदि यह एक स्वसंपूर्ण (मुख्य विधि) जावा परियोजना है, तो कोई भी विशिष्ट पथ परियोजना के अंदर सभी जार नहीं डालती है, फिर कोई विशिष्ट पथ नहीं है - परियोजना पर राइट क्लिक करें -> निर्यात -> रन करने योग्य जार -> दोपहर के भोजन के विन्यास और लाइब्रेरी हैंडलिंग का चयन करें फिर रेडियो बटन विकल्प "जनरेट किए गए जार में पैकेज आवश्यक लाइब्रेरी" -> समाप्त करें चुनें।

या

यदि आपके पास एक वेब प्रोजेक्ट है तो सभी जार को वेब-इन / लिबर फोल्डर में रखें और एक ही स्टेप करें।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.