की सही आंतरिक संरचना क्या है यह वास्तव में मूर्ख सवाल है कि मैं एक अलग जवाब नहीं दे सकता।जेएआर फ़ाइल
पृष्ठभूमि।
मैं एक्लिप्स (एक एएनटी प्लगइन में से एक के साथ, एक एक्सपी टर्मिनल पर) का उपयोग कर रहा हूं।
मैं बस, चींटी के साथ खेल [जार] निर्देश में मैं अपनी पूर्ण JAR फ़ाइल के स्थान की स्थापना कर रहा हूँ और जब मैं अनज़िप 'फ़ाइल
META-INF/MANIFEST मैं निम्नलिखित मिल शुरू कर दिया है। एमएफ MyMainFile.class
जो आंतरिक संरचना के लिए ऑरैकल वेबसाइट पर पाया गया है। (यहां http://docs.oracle.com/javase/tutorial/deployment/jar/view.html)
लेकिन जब मैं अपनी फ़ाइल चलाने की कोशिश करता हूं तो मुझे 'मुख्य श्रेणी नहीं मिली' त्रुटि मिलती है?
मैं कुछ अन्य पदों जहां लोगों को 'अनज़िप' है JAR फ़ाइल और निम्न में से एक संरचना के साथ समाप्त हो गया ...
META-INF/MANIFEST.MF dtvcontrol देखा है/DTVControlApp.class
(यहाँ http://www.coderanch.com/t/528312/java/java/standalone-application से)
तो मैं एक संरचना है जहाँ मेरे वर्ग फ़ाइलों एक निर्देशिका है कि पैकेज के नाम को दर्शाता है में हैं मिलना चाहिए ... जैसे
META-INF/MANIFEST.MF +०१२३५१६४१०MyPackage/MyMainFile.class
और यदि हां, तो मुझे एएनटी का उपयोग करके गलत संरचना क्यों मिल रही है, या 2 अलग-अलग 'सही' आंतरिक संरचनाएं क्यों हैं? (मुझे प्राप्त होने वाले प्रत्येक/नियंत्रण के लिए मुख्य श्रेणी और कक्षापथ को कैसे निर्दिष्ट करें)
यदि आप रुचि रखते हैं, तो मैनिफ़ेस्ट फ़ाइल में (एएनटी का उपयोग करके निर्माण करें) [विशेषता का नाम = "मुख्य-वर्ग" मान = "MyPackage.MyMainFile" /]
इसके अलावा विकास के तहत पैकेज की निर्देशिका संरचना इस प्रकार है के रूप में ...
/JavaDev/MyTestPackage/src (स्रोत फ़ाइलें हैं) // JavaDev/MyTestPackage/bin (ग्रहण से कक्षा फाइलें, या एएनटी जैवैक कार्य से, क्या मैंने इसे गलत तरीके से नामित किया है? क्या मुझे इसे बनाना चाहिए?)
इसके अलावा, जब मैं जार बनाता हूं, तो मैं इसे 'MyTestPackage.jar' नाम नहीं दे रहा हूं लेकिन बस 'test.jar' यह समस्या पैदा कर सकता है? मुझे लगता है कि जैसा कि मैंने अच्छी तरह से समझ लिया है कि [मुख्य श्रेणी] परिभाषा सामग्री क्या है।
यह सब करने के लिएआगे ...
'MyTestPackage' वास्तव में है कि मैं कहीं और का उपयोग एक छोटे से दृश्य त्रुटि संदेश देना पुस्तकालय है, और मैं के परीक्षण के लिए उपयोग करने के लिए एक मुख्य वर्ग है कि एक दूसरी फ़ाइल की है। जैसे-जैसे यह विभिन्न पुस्तकालयों को इंगित करता है (क्या मुझे सभी एसडब्ल्यूटी पुस्तकालयों को एक निर्दिष्ट निर्देशिका में कॉपी करने की आवश्यकता है?)
मैंने कहीं पढ़ा है कि अगर मैं अपनी मुख्य कक्षा में पुस्तकालयों को लोड करता हूं (जो मैं स्पष्ट रूप से खिड़की खोलने के लिए करता हूं) तो प्रोग्राम चलाने की कोशिश करने से मैं 'मुख्य वर्ग नहीं मिला' पर असफल हो जाऊंगा, अगर मैं उनका उपयोग करता हूं, वही किसी भी 'स्थिर अंतिम' सदस्यों (जो मैं त्रुटियों के लॉगिंग के लिए उपयोग करता हूं) में जोड़ने के लिए भी सच है।
'स्टेटिक फाइनल' समस्या ... मैंने एएनटी में क्लासपाथ को समायोजित करने का प्रयास किया, और मुझे लॉग 4 जे और मेरे 'रैपर' के कनेक्शन के लिए अन्य त्रुटियों का भार मिलता है जो मैं उपयोग करता हूं (इसके साथ करने के लिए खराब आयात), लेकिन पुस्तकालय मौजूद हैं जहां उन्हें कक्षा के रूप में सेट किया जाना चाहिए)।
मुझे लगता है कि मैं लगभग यहाँ हूँ .... लेकिन नहीं काफी ...
मैं छोटे 'लाइब्रेरी प्रोजेक्ट' है कि मैं मुख्य के लिए MAVAN का उपयोग कर के इरादे से बनाने के लिए कर रहा हूँ इस कर रहा हूँ बाहरी पैकेज जो उन्हें सभी को एक साथ जोड़ देगा ... अभी के लिए हालांकि मैं इसे काम करना चाहता हूं ताकि यह काम करे।
मैं पूर्ण स्रोत, या आवश्यकतानुसार कोई अन्य जानकारी प्रदान कर सकता हूं।
अग्रिम धन्यवाद ...
डेविड
vikiiii मैं एक भयानक टिप्पणी में डाल रहा था कि आप कितने 'आंखें' पूछ रहे हैं ... लेकिन फैसला नहीं किया (नोटिस 3 "।" एक नहीं, दो नहीं)। ;) – DaveM