2010-01-30 15 views
6

मैंने इस कमांड का उपयोग करके निष्पादन योग्य जार बनाने की कोशिश की:जार मेरे मैनिफेस्ट को अनदेखा क्यों कर रहा है?

jar -cvfm h.jar Manifest.mf Whatever1.class Whatever2.class 

मेनिफेस्ट में यह है:

Main-Class: Whatever1 

लेकिन अगर मैं जार चलाने की कोशिश करता हूं, तो मुझे मिलता है: Failed to load Main-Class manifest attribute from my.jar। मैंने जार निकाला, और मैंने देखा कि इसकी अभिव्यक्ति की सामग्री यह थी:

Manifest-Version: 1.0 
Created-By: 1.6.0_18 (Sun Microsystems Inc.) 

मेरा मैनिफेस्ट क्यों अनदेखा किया गया था?

संपादित करें: मुझे पता है कि -e ध्वज का उपयोग करके मैं एक प्रविष्टि बिंदु निर्दिष्ट कर सकता हूं, और जार एक सही अभिव्यक्ति उत्पन्न करेगा, लेकिन मैं यह जानना चाहता हूं कि इस संस्करण को कैसे काम करना है।

+0

http://java.sys-con.com/node/36995 – Pace

उत्तर

15

Manifest.mf

+0

क्या यह एक सुविधा है? जबरदस्त हंसी! – Geo

+0

मेरा दिन बचाया। जब तक मुझे आपका जवाब नहीं मिला, तब तक मुझे घंटों का गड़बड़ कर लिया। – Matthias

+0

निराश हो रहा था जब तक कि मैंने आपकी पोस्ट –

0

मैं आप की तरह जार को चलाने के लिए है लगता है:

jar -cvf h.jar -m Manifest.mf Whatever1.class Whatever2.class

क्योंकि विकल्प के लिए मान विकल्प ही के बाद सीधे आते हैं।

+2

आज़माएं यह कहता है: '-m: ऐसी कोई फ़ाइल या निर्देशिका'। – Geo

2

की अंतिम पंक्ति के बाद एक लाइन ब्रेक जोड़े मैंने देखा है कि मैनिफ़ेस्ट फ़ाइल के अंत में एक नई पंक्ति नहीं होने समय पर इस समस्या का कारण बनता है। देखें कि मैनिफेस्ट फ़ाइल के अंत में एक नई लाइन जोड़ने में मदद मिलती है।

संबंधित मुद्दे