2009-08-05 12 views
5

Spring Roo कि follow standard maven layout मौजूदा परियोजनाओं में इस्तेमाल किया जा सकता। अब तक ऐसा प्रतीत होता है कि परियोजनाएं जो मेवेन का उपयोग नहीं करती हैं, भाग्य से बाहर हैं।क्या मैं मौजूदा परियोजना में स्प्रिंग रू का उपयोग कर सकता हूं जो मेवेन का उपयोग नहीं करता है?

मैं सोच रहा हूँ क्या (यदि हो तो) इस तरह के मौजूदा परियोजनाओं के लिए विकल्प हैं। Maven लेआउट के अनुरूप परियोजना लेआउट

पुन: व्यवस्था? यह सीवीएस में वर्षों के इतिहास के साथ परियोजनाओं के लिए बहुत कठिन रास्ता प्रतीत होता है क्योंकि इस तथ्य के कारण सीवीएस में method for moving around directories बेहद आक्रामक है।

वहाँ Maven विन्यास को संशोधित करने अमानक लेआउट के साथ काम करने के लिए की तरह किसी भी अन्य विकल्प हैं? इस विषय के बारे में मेरे पहले पढ़ने से मुझे क्या याद है, मैवेन CoC दृष्टिकोण ऐसे गैर-मानक लेआउट का पक्ष नहीं लेता है।

संपादित करें: नीचे

रिच के जवाब से पता चलता है कि अधिक सवारी सुपर पोम में चूक तुच्छ है। इससे हमें सवाल उठता है कि स्प्रिंग रू इस तरह के संशोधनों के साथ अच्छी तरह से खेलेंगे या नहीं। यह संदेहजनक है कि वसंत रू मैवेन का उपयोग नहीं करता है।

संपादित करें:

रिच के अद्यतन जवाब पता चलता है कि, डिफ़ॉल्ट रूप से, ROO कठिन कोडित रास्तों का उपयोग करेगा और अपने pom.xml में संशोधनों लेने नहीं होगा तो अब तक का जवाब प्रतीत होता है ऐसा नहीं है कि बाहर के बॉक्स लेकिन कुछ कस्टम कोडिंग द्वारा किया जा सकता है (या ROO टीम पूछ इसके समर्थन में)

उत्तर

2

कोई कारण नहीं है कि हम (रू टीम) मेवेनपाथ रीसोल्वर को कस्टम पथ का उपयोग करने की अनुमति नहीं दे सकते हैं, और मैंने पथदर्शी अमूर्तता के जानबूझकर कारणों में से एक को सामान्य पथ स्थानों के अनुकूलन का समर्थन करना था, न केवल मैवेन को गैर-डिफ़ॉल्ट स्थानों पर भी एंटी + आइवी जैसे अन्य निर्माण प्रणालियों के लिए। सभी बेस रू एड-ऑन को पथरसॉल्वर का उपयोग करने के लिए लिखा गया है, इसलिए इसे समर्थन देने के लिए यह एक बड़ा प्रयास नहीं होना चाहिए। यदि आप अभी भी यह समर्थन चाहते हैं तो कृपया Roo Jira instance पर एक वृद्धि अनुरोध जोड़ें।

+0

धन्यवाद बेन। मैंने इस सवाल से पूछा कि मैंने नौकरियां बदल दी हैं। मेरे पिछले नौकरी में मैं एक मौजूदा परियोजना में रू का उपयोग करने की संभावना का मूल्यांकन कर रहा था जो आस्पेक्टजे और वसंत दोनों स्वतंत्र रूप से उपयोग कर रहा था। लेकिन परियोजना लेआउट मेवेन पर आधारित नहीं था। इसलिए सवाल है। –

2

आप सम्मेलनों का एक अलग सेट का उपयोग करने के Maven संशोधित कर सकते हैं संभव। मानक सेट को Maven super POM से विरासत में मिला है और प्रासंगिक संपत्ति को फिर से परिभाषित करके ओवरराइड किया जा सकता है।

उदाहरण के लिए, स्रोत निर्देशिका को src/main/java से src में बदलने के लिए, test-src, और स्रोत/मुख्य/संसाधनों से संसाधन निर्देशिका में संसाधन निर्देशिका को बदलने के लिए आप अपने POM में निम्न सेट करेंगे: जैसे बजाय, $ {project.build.outputDirectory} का उपयोग करें ताकि आप अजीब समस्या हो सकती है का लक्ष्य/वर्गों हार्डकोड

<build> 
    <sourceDirectory>src</sourceDirectory> 
    <testSourceDirectory>test-src</testSourceDirectory> 
    <resources> 
    <resource> 
     <directory>resources</directory> 
    </resource> 
    </resources> 
</build> 

पता है कि कुछ प्लगइन्स (स्थानों तक पहुँचने के लिए मानक गुणों का उपयोग नहीं हो सकता है हो सकता है।


अद्यतन: यह रू वर्तमान मुद्दों की तरह दिखता है ntly इन properties hardcoded है। आप MavenPathResolver को प्रतिस्थापित करने में सक्षम हो सकते हैं या कस्टम गुणों का उपयोग करने के लिए एक अतिरिक्त रिज़ॉल्यूवर जोड़ सकते हैं।

यदि यह आपके लिए एक वास्तविक समस्या है, तो आप raise a request को MavenPathResolver को कस्टम स्थानों की अनुमति देने के लिए संशोधित कर सकते हैं।

+0

कोई विचार क्या स्प्रिंग आरओओ इस तरह के संशोधित विन्यास के साथ काम करेगा? मुझे लगता है कि स्प्रिंग आरओओ स्वयं मेवेन का उपयोग नहीं करता है लेकिन जेनरेट की गई परियोजनाएं इसका इस्तेमाल करती हैं। –

+0

अद्यतन के लिए धन्यवाद, रिच। –

+0

हम अतिरिक्त रिज़ॉल्वर कहां जोड़ते हैं? –

1

रू 1.2 के रूप में इसे लागू नहीं किया गया है।

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

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