2012-11-06 11 views
6

निर्यात करते समय मैं नहीं जानता कि मैं सही सवाल पूछ रहा हूं या नहीं, लेकिन मेरा संदेह स्पष्ट करना चाहता हूं।जार फ़ाइल जोड़ें डायरेक्टरी प्रविष्टियां ग्रहण विकल्प जार

दरअसल मैं जार फ़ाइल से क्लासिंग क्लास फाइलों के परिदृश्य में आया था। मेरा कहना है कि मेरे पास एक बैकएंड जावा प्रोजेक्ट है जिसमें एबीसी एप्लीकेशन-context.xml फ़ाइल है।

अब मैंने एबीसी परियोजना की जार फ़ाइल बनाई और एक वेब आधारित एप्लिकेशन में उपयोग किया।

यहाँ मैं सेम Autowired नहीं मिल रहा है की एक समस्या का सामना करना पड़ और पता करने के लिए समस्या थी, जब मैं ग्रहण का उपयोग कर एबीसी परियोजना के जार फ़ाइल निर्यात आया हूँ, मैं चयन नहीं किया है जो बाद में "निर्देशिका प्रविष्टियों जोड़ें" चेकबॉक्स मैंने किया और सब काम किया।

बस क्या परिवर्तन एक जार फ़ाइल में इस बॉक्स को चेक ताकि सभी काम किया द्वारा किया गया है को देखने के लिए,

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

क्या कोई मुझे बता सकता है कि वास्तव में "निर्देशिका प्रविष्टियां" क्या करती हैं?

ऐसा कॉम/कंपनी/परियोजना/MyJavaFile.class

कॉम/कंपनी/

कॉम/कंपनी/परियोजना/

एकल पथ के बजाय पूरी संरचना जोड़ना चाहिए क्या मुझे पता है

कॉम/कंपनी/परियोजना/MyJavaFile.class

कृपया मुझे सही कर अगर मैं गलत हूँ।

उत्तर

6

आपको जार फ़ाइलों को बनाते समय "निर्देशिका प्रविष्टियां जोड़ें" सक्षम करना चाहिए यदि आपको अपनी जार फ़ाइल के अंदर किसी विशेष निर्देशिका के यूआरआई प्राप्त करने के लिए class.getResource() विधि का उपयोग करने की आवश्यकता है। इसका कारण यह है कि आप ऐसा क्यों करना चाहते हैं उदाहरण के लिए अपने "संसाधन" फ़ोल्डर में यूआरआई रखना है।

यदि आप केवल एक विशिष्ट फ़ाइल के यूआरआई प्राप्त करने के लिए class.getResource() का उपयोग करते हैं [और निर्देशिका नहीं] तो आप ठीक होंगे अगर आप "निर्देशिका प्रविष्टियां जोड़ें" छोड़ दें।

+0

भविष्य के लिए सिर्फ एक नोट: _maven_ और _gradle_ इसे ** डिफ़ॉल्ट ** द्वारा करता है। –

2

फार्म डॉक्टर JAR File Exporter

जोड़े निर्देशिका प्रविष्टियों:, जार फाइल करने के लिए प्रत्येक निर्देशिका के लिए एक प्रवेश कहते हैं भले ही निर्देशिका केवल उपनिर्देशिकाओं शामिल है।

+1

हां, सच है जो मुझे पता है, लेकिन जब आप एक जार की तुलना निर्देशक विकल्प के साथ चेक और अनचेक करते हैं तो आकार को प्रतिबिंबित करना चाहिए। जो मैंने पाया वह कोई अंतर नहीं है, मुझे क्या याद आ रही है? – Jayesh

0

यदि आप 7-ज़िप या कुछ समान के साथ जार फ़ाइल देखते हैं, तो आप देख सकते हैं कि फ़ोल्डरों के लिए "डी" विशेषता है जब "निर्देशिका प्रविष्टियां जोड़ें" चुना जाता है। ये गुण मौजूद नहीं हैं जब वह विकल्प मौजूद नहीं है। आपकी तुलना शायद जार फ़ाइल के भीतर फ़ाइलों की सामग्री की तुलना कर रही थी और जार फ़ाइल विशेषताओं को नहीं देख रहा था।

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