2010-11-06 5 views
8

से जार निर्यात करते समय त्रुटि दी गई लॉन्च कॉन्फ़िगरेशन से मुख्य विधि नहीं मिल सका "मैंने अपने आईडीई के रूप में एक्लिप्स का उपयोग करके अपना प्रोग्राम विकसित किया। मैं क्लाइंट के लिए डिस्ट बिल्ड बनाने के लिए File|Export| Runnable JAR file विकल्प का उपयोग करता था।ग्रहण

मैं ग्रहण में रन या (अक्सर) डीबग बटन का उपयोग कर प्रोजेक्ट के साथ काम कर रहा था (इसलिए मेरे पास वैध मुख्य विधि वाले प्रोजेक्ट के लिए कॉन्फ़िगरेशन है)।

दुर्भाग्य से जब मैं कल का निर्माण बनाया मैं त्रुटि निम्न था जब मैं अनुप्रयोग चलाने के लिए करने की कोशिश की:

Could not find main method from given launch configuration 

मैं: तो फिर

Failed to load Main-Class manifest attribute from My.jar 

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

मैं किसी भी मदद की सराहना करता हूं।

+0

कभी कभी तुम अगर आप एक का उपयोग अपने DIE पुनः आरंभ करने की आवश्यकता हो सकती है। [इस देखें] [1] [1]: http://stackoverflow.com/questions/13527869/could-not-find-main-method-from-given-launch-configuration-when-using -javasca – ABData

+0

यदि आप एक का उपयोग करते हैं तो आपको कभी भी अपना आईडीई पुनरारंभ करने की आवश्यकता हो सकती है। [इस देखें] [1] [1]: http://stackoverflow.com/questions/13527869/could-not-find-main-method-from-given-launch-configuration-when-using -javasca – ABData

+0

यदि आप एक का उपयोग करते हैं तो आपको अपना आईडीई पुनरारंभ करने की आवश्यकता हो सकती है।इसे देखें: http://stackoverflow.com/questions/13527869/could-not-find-main-method-from-given-launch-configuration-when-using-javasca – ABData

उत्तर

5

क्या आप निर्यात संवाद में सही 'लॉन्च कॉन्फ़िगरेशन' चुन रहे हैं? सुनिश्चित करें कि यह आपकी परियोजना से है।

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

+0

उत्तर देने के लिए धन्यवाद। हां, मैंने जांच की कि मैंने निर्यात के दौरान वैध लॉन्च कॉन्फ़िगरेशन चुना है। एक और बात मैं सिर्फ इस फ़ाइल को संपादित कर सकता हूं और नया ज़िप (जार) क्रेट कर सकता हूं? क्या यह जार चेकसम या कुछ नहीं बदलेगा (नोबिश प्रश्न के लिए खेद है)? –

+0

मुझे प्रश्न को दोबारा जवाब देने का जवाब मिला: "वे ऐसा करने के लिए ज़िप उपकरण का भी उपयोग कर सकते हैं, हालांकि, ज़िप फ़ाइल शीर्षकों में प्रविष्टियों के क्रम के रूप में सावधानी बरतनी चाहिए क्योंकि मैनिफेस्ट की संभावना पहले होने की आवश्यकता है।" http://en.wikipedia.org/wiki/JAR_(file_format) –

+0

मैं दो कारणों से आपके उत्तर को स्वीकार करता हूं: 1। आप मेरी समस्या को हल करने में मेरी मदद करते हैं (मैंने ज़िप के बजाए जार टूल का उपयोग किया)। 2. थोड़ी सी गुगल करने के बाद मुझे लगता है कि यह संभव है कि बेहतर जवाब "यह ग्रहण ग्रहण" मौजूद न हो। –

2

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

2

बस एक ही समस्या थी: एस यह कष्टप्रद फ़ाइल में मैन्युअल रूप से ठीक करने के लिए परेशान है लेकिन आसान है।

  1. WinRar या 7zip के साथ .jar फ़ाइल खोलें।
  2. मेनिफेस्ट फ़ाइल (मेटा-आईएनएफ फ़ोल्डर) का पता लगाएं
  3. इसे इसमें बदलें।

Manifest-Version: 1.0 main-class: (package).(main-class)

मेरे मामले में मैं डिफ़ॉल्ट पैकेज में यह किया था।

Manifest-Version: 1.0 main-class: run