2011-12-07 13 views
5

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

कनेक्शन और डेवलपर कनेक्शन तत्वों के लिए मुझे किस मूल्य का उपयोग करने की आवश्यकता है? क्या मुझे प्रति मॉड्यूल एससीएम कॉन्फ़िगर करने की आवश्यकता है या इसे मूल परियोजना में एक बार कॉन्फ़िगर किया जा सकता है?

धन्यवाद

उत्तर

5

मैं दो स्थितियों का परीक्षण किया:

  • केवल अभिभावक पोम स्तर पर विन्यास को परिभाषित करना;

  • पेरेंट-पोम और सबमिशन स्तर दोनों में कॉन्फ़िगरेशन को परिभाषित करना।

आप अपने माता पिता पोम परियोजना पर mvn -DdryRun=true release:prepare प्रयास करेंगे तो आपको एक release.properties फ़ाइल से पता चलता है कि आप रिहाई विन्यास Maven पता लगाएं कि क्या लक्ष्य तैयार किया था इस्तेमाल किया है | मिल जाएगा।

वहां से, आप देख सकते हैं कि पहली परिदृश्य का परीक्षण करते समय मैवेन बाल मॉड्यूल को टैग नहीं करेगा। आपको केवल एक project.scm.[groupId]\:[artifactId].url संपत्ति दिखाई देगी। दूसरे परिदृश्य का परीक्षण, एसएमएम कॉन्फ़िगरेशन के साथ भी सबमिशन स्तर पर किया जाता है, आपको प्रत्येक सबमिशन के लिए एक प्रॉपर्टी मिल जाएगी।

मेरा निष्कर्ष यह है कि फ्लैट मल्टी-मॉड्यूल प्रोजेक्ट स्ट्रक्चर के लिए, आपको माता-पिता-पोम और मॉड्यूल स्तर दोनों पर स्किम परिभाषित करना चाहिए, प्रत्येक यह एसएमएम निर्देशिका को इंगित करता है जहां यह पोम स्थित है।

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