2011-09-25 15 views
9

मेरी ज़रूरत बहुत बुनियादी है लेकिन मुझे इसका कोई साफ जवाब नहीं मिला: मुझे बस एक बहु-मॉड्यूल प्रोजेक्ट में संसाधन वितरित करने में सक्षम होना चाहिए।मल्टी मॉड्यूल प्रोजेक्ट में मैवेन कॉपी संसाधन

उदाहरण के लिए हमें LICENSE फ़ाइल पर विचार करें, जिसे मैं सभी मॉड्यूल के लिए समान मानता हूं। मैं इसे प्रत्येक मॉड्यूल में मैन्युअल रूप से कॉपी नहीं करना चाहता क्योंकि फ़ाइल समय के साथ बदल सकती है। मैं प्रोजेक्ट फ़ोल्डर के बाहर संसाधनों (यहां तक ​​कि सापेक्ष पथों का उपयोग करने) के साथ स्थिर रूप से लिंक नहीं करना पसंद करता हूं, क्योंकि मॉड्यूलर संरचना संभवतः भी बदल सकती है।

क्या कोई प्लगइन है जिसका उपयोग मजबूत रूप से गारंटी देने के लिए किया जा सकता है कि प्रत्येक मॉड्यूल को आवश्यक फ़ाइल दी जाती है? यह मूल प्रतिलिपि के पीओएम का शोषण करके या सीधे मॉड्यूलर पदानुक्रम में सुपर प्रोजेक्ट द्वारा प्रदर्शन की जा रही ऐसी प्रतिलिपि के लिए समान रूप से स्वीकार्य होगा।

उत्तर

12

आप असेंबली और निर्भरता प्लगइन्स का उपयोग कर सकते हैं .. क्या आप उस लिंक पर ठोकर खा चुके थे? http://www.sonatype.com/people/2008/04/how-to-share-resources-across-projects-in-maven/

यह 2008 से उस विकल्प ..its का वर्णन करता है, लेकिन Maven काफी कुछ समय के लिए चारों ओर है .. इसलिए मैं टिप्पणी
के बारे में एक अन्य विकल्प है इसकी कम या ज्यादा लगता तारीख

अप करने के लिए

संपादितमेवेन-रिमोट-संसाधन-प्लगइन। एक अधिक विस्तृत उदाहरण के लिए देखें:
http://maven.apache.org/plugins/maven-remote-resources-plugin/examples/sharing-resources.html

के बाद से उनके परिचय खुद के लिए वास्तव में बात करते हैं, मैं बोली (maven.apache.org)

इस प्लग दूरदराज के खजाने से संसाधनों के जार पुनः प्राप्त करने के लिए किया जाता है , उन संसाधनों को संसाधित करें, और उन्हें जेएआरएस में शामिल करें जिन्हें आप मेवेन के साथ बनाते हैं। एक बहुत ही सामान्य उपयोग-मामले को आपके संगठन में निरंतर तरीके से कुछ संसाधनों को पैकेज करने की आवश्यकता है: अपाचे में यह आवश्यक है कि उत्पादित प्रत्येक जेएआर में अपाचे लाइसेंस की एक प्रति और एक नोटिस फ़ाइल है जो किसी दिए गए प्रोजेक्ट में सभी प्रयुक्त सॉफ़्टवेयर का संदर्भ देती है ।

+0

बिल्कुल सटीक पृष्ठ नहीं, लेकिन हां, एक असेंबली डिस्क्रिप्टर के साथ टंकण करना समाधान नहीं था जिसे मैं सरलता के संदर्भ में उम्मीद कर रहा था। वैसे भी धन्यवाद, अभी के लिए :) –

+0

क्षमा करें, किसी भी हालिया विकल्प या अधिक उपयुक्त प्लगइन के बारे में पता नहीं –

+0

आपके द्वारा प्रदान किए गए लिंक से, मुझे पता चला कि _maven-remote-resource-plugin_ बस एक और के साथ ठीक काम करता है कॉम्पैक्ट विन्यास। यदि आप इसे अन्य पाठकों के लिए संबंधित स्पष्टीकरण के साथ एकीकृत करते हैं, तो मैं आपका जवाब स्वीकार करूंगा। –