2010-06-24 11 views
7

मेरे पास एक प्रोग्राम है जो निर्देशिका में यूआरएल प्राप्त करने के लिए getClass().getClassLoader().getResource() का उपयोग करता है, यह ग्रहण में ठीक काम करता है, लेकिन जेरेड के बाद, यह शून्य हो जाता है।पैकेजिंग के दौरान मेवेन "निर्देशिका प्रविष्टियां जोड़ें" कैसे बनाएं?

इस यूआरएल के अनुसार: http://www.coderanch.com/t/385935/java/java/getResource-path-fails-Jar

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

लेकिन मैवेन में, पैकेजिंग के दौरान मुझे "निर्देशिका प्रविष्टियां जोड़ने" के लिए ऐसे आदेश नहीं मिल सकते हैं, क्या कोई मुझे संकेत दे सकता है? आपका बहुत बहुत धन्यवाद !

पर्यावरण: ग्रहण 3.5, m2eclipse, Maven 2.2.1

+0

क्या आप उस फ़ाइल के लिए प्रोजेक्ट स्ट्रक्चर और पथ जोड़ सकते हैं, जिसे आप एक्सेस करने का प्रयास कर रहे हैं? –

उत्तर

0

आप एक मानक Maven 2 विन्यास का उपयोग करते हैं, निर्देशिका और फ़ाइलों src/मुख्य/संसाधनों के तहत रखा जाएगा। अगर वे कहीं और हैं, तो आपको परिभाषित करना होगा कि आपके संसाधन कहां हैं।

<build> 
    <resources> 
     <resource> 
     <directory>path to my resources</directory> 
     </resource> 
    </resources> 
+0

धन्यवाद, लेकिन ऐसा लगता है कि काम नहीं कर रहा है ... शायद यह सर्वर का क्लासलोडर समस्या है ... (राल) – smallufo

0

आपको एक असेंबली डिस्क्रिप्टर शामिल करने और अपने डीआईआर बनाने की आवश्यकता होगी।

+0

हाय, क्या आप अधिक विशिष्ट हो सकते हैं? – smallufo

0

असेंबली डिस्क्रिप्टर इस मुद्दे को हल करने में आपकी सहायता करेगा। इस लिंक http://maven.apache.org/plugins/maven-assembly-plugin/assembly.html का उपयोग कर असेंबली प्लगइन पर पढ़ें। यदि आप अभी भी इसे काम नहीं कर पा रहे हैं तो मुझे बताएं।