2013-02-11 53 views
7

मैंने मेन.जावा नामक एक .java फ़ाइल लिखी है, और इसे विंडोज कमांड प्रॉम्प्ट में जावैक का उपयोग करके संकलित किया है। कंपाइलर एकाधिक .class फ़ाइलों को बना रहा है (जिसे Main.class, मुख्य $ 1.class, & मुख्य $ 2.class कहा जाता है - संभवतः क्योंकि मेरे मुख्य.जावा फ़ाइल में अज्ञात आंतरिक कक्षाएं हैं)। मैं एक रननेबल .jar फ़ाइल बनाने की कोशिश कर रहा हूं, इसलिए मैं इस एप्लिकेशन को चलाने के लिए शॉर्टकट पर डबल क्लिक कर सकता हूं (यह जावा स्विंग एप्लिकेशन है), लेकिन जब मैं तीन क्लास फाइलों की निर्देशिका में नेविगेट करता हूं तो मैं असफल रहता हूं और टाइप करता हूं:(जावा) एकाधिक .class फ़ाइलों से .jar फ़ाइल बनाने के लिए कमांड प्रॉम्प्ट का उपयोग करें

jar cfv file.jar Main.class Main$1.class Main$2.class 

कमान के लिए प्रेरित करें तो यह पाठ आउटपुट:

added manifest 
adding: Main.class(in 4871) (out = 2848)(deflated 41%) 
adding: Main$1.class(in 1409) (out = 833)(deflated 40%) 
adding: Main$2.class(in 1239) (out = 767)(deflated 38%) 

इस के बावजूद, जब मैं दोगुना Windows Explorer में file.jar फ़ाइल पर क्लिक करें, सीधे शब्दों में, कुछ नहीं होता। कोई स्विंग एप्लिकेशन खुलता है।

उम्मीद है कि कोई मेरी मदद कर सकता है। आप

बेस्ट ... SL

+0

इस प्रश्न को देखें जो आपके प्रश्न का उत्तर देता है। इस पर बहुत सारे सवाल हैं। http: // stackoverflow।कॉम/प्रश्न/13081920/बनाने-निष्पादन योग्य-जार-फ़ाइल –

उत्तर

12

आप इस तरह के रूप में प्रवेश बिंदु स्विच -e (कक्षा main() विधि युक्त के नाम के साथ) का उपयोग करने की जरूरत है:

jar cfve file.jar Main Main.class Main$1.class Main$2.class 
+0

धन्यवाद Iamnotmaynard, यह काम किया। एक बार यह वेबसाइट मुझे अनुमति देने के बाद मैं इसे सही प्रतिक्रिया के रूप में स्वीकार करूंगा ... – Skyler

+0

यदि जावा प्रोग्राम में अधिक निर्भरता जार फ़ाइलें हैं। कमांड प्रॉम्प्ट में lib पथ का प्रतिनिधित्व कैसे करें। – BasK

5

कुछ का होगा जावा जो वर्ग स्वचालित रूप से शुरू किया जाना चाहिए बता धन्यवाद। यह मैनिफेस्ट है - विवरण देखें here आपको अपने जार में Manifest.mf को पैकेज करना होगा।

+0

अपने मामले में: फ़ाइल में 'मुख्य-श्रेणी: मुख्य' जोड़ें। manifestifest.txt और 'jar cfv file.jar Manifest.txt Main.class मुख्य $ 1। कक्षा मुख्य $ 2.class' –

0
  1. कमांड प्रॉम्प्ट खोलें
  2. सीडी पथ जहाँ करने के लिए जाना जार फ़ाइल मौजूद
  3. रन कमांड jar xf fileName.jar
  4. यह कॉम उत्पन्न होगा, META-INF & Copyright.mk फ़ाइलों
  5. विशेष पैकेज के लिए
  6. जाओ जहां यू वर्ग फ़ाइल (मूल रूप से वर्ग फ़ाइलों कॉम निर्देशिका में मौजूद)
  7. डाउनलोड गूगल से JAD.exe (इसके ज़िप फ़ाइल) को संशोधित करने के
  8. ज़िप फ़ाइल निकालें आप मिल जाएगा चाहते हैं jad.exe
  9. प्लेस वर्ग फ़ाइल (जो यू संशोधित करना चाहते हैं) फ़ोल्डर में, कि jad.exe
  10. जाओ शीघ्र आदेश होता है, को चलाने jad fileName.clas रों (वर्ग फ़ाइल नाम जो यू संशोधित करना चाहते हैं)
  11. +०१२३७५२१३६४फाइल उत्पन्न हो जाएगी, के रूप में fileName.java
  12. इसका नाम बदलना संकलन fileName.java (अपने कुछ अन्य वर्ग फ़ाइल की चर्चा करते हुए ग्रहण में कॉन्फ़िगर तदनुसार अगर)
  13. एक बार संकलित निर्देशिका चरण में परिभाषित में वर्ग फ़ाइल की जगह 4
  14. कमांड प्रॉम्प्ट पर जाएं, सीडी चरण 4 पथ, jar cf fileName.jar चलाएं (* निर्देशिकाओं के बावजूद सभी वर्ग फ़ाइलों का प्रतिनिधित्व करता है)