2011-10-13 16 views
10

मेरे पास मेवेन-ग्रहण एकीकरण के साथ दो बहुत ही परेशान करने वाले मुद्दे हैं, समय-समय पर यह मेरे सभी संसाधनों को स्रोत/मुख्य/संसाधनों और निर्माण पथ से स्रोत/परीक्षण/संसाधनों में शामिल करता है।मेवेन/एम 2 एक्लिप्स में मेरे संसाधनों को हर समय

यदि मैं "गुण >> जावा बिल्ड पथ >> स्रोत" का निरीक्षण करता हूं तो मैं देख सकता हूं कि इन दो फ़ोल्डरों में "बहिष्कृत: **" है।

बहिष्करण पर "निकालें" पर क्लिक करके समस्या को आसानी से हल किया जा सकता है, लेकिन यह वास्तव में वास्तव में निराशाजनक है।

परियोजना सेटअप बहुत आसान है, इसमें कुछ मॉड्यूल और उप-मॉड्यूल हैं, लेकिन कुछ भी कल्पना नहीं है। मेरे पास संसाधनों, ग्रहण या जो भी हो (शायद मुझे चाहिए?) के संबंध में मेरे pom.xmls में कोई कॉन्फ़िगरेशन विकल्प नहीं है।

दूसरी समस्या यह है कि ग्रहण "लक्ष्य" निर्देशिकाओं में "चेतावनियों" दृश्य में चेतावनियों की रिपोर्टिंग करता रहता है, जहां इसे पहले स्थान पर एक लानत नहीं देना चाहिए।

किसी भी मदद की सराहना की जाती है।

अग्रिम धन्यवाद है, मार्क

पी.एस.: Springsource उपकरण सुइट 2.7.0.RELEASE, ग्रहण 0.12.1.20110112 के लिए Maven एकता, Maven 2.2.1

+0

क्या आप इसे हल कर चुके हैं? –

उत्तर

6

यह सही व्यवहार है। एम 2 ई का वर्तमान संस्करण ग्रहण आईडीई के अंदर स्वचालित निर्माण प्रक्रिया में अपना योगदानकर्ता प्रदान करता है। यह निर्माण प्रक्रिया जेनरेट-संसाधनों और प्रक्रिया संसाधनों आदि के लिए मेवेन लाइफसाइकिल को ध्यान में रखती है ... यानी कुछ प्रोजेक्ट में प्लगइन होते हैं जो कॉन्फ़िगरेशन से संसाधन उत्पन्न करते हैं और संकलित आउटपुट फ़ोल्डर में डालते हैं।

बिल्ड पथ में जो तंत्र आप देख रहे हैं केवल आउटपुट फ़ोल्डरों में इनपुट स्रोत फ़ोल्डरों के एक समूह को संकलित/असेंबली करने के लिए तंत्र में निर्मित ग्रहण आईडीई से संबंधित है। यदि मेवेन और ग्रहण दोनों ने ऐसा किया तो संघर्ष/समस्याएं होंगी।

इस सटीक बिंदु के बारे में पूछे जाने वाले प्रश्न M2E में एक कड़ी है http://wiki.eclipse.org/M2E_FAQ#Why_resource_folders_in_Java_project_have_excluded.3D.22.2A.22

आप सही मायने में संसाधनों नहीं कॉपी की जा रही शायद हम ऐसा क्यों है (के बाद से है कि एक और बात है) के माध्यम से काम कर सकते हैं के साथ समस्या हो रही है, लेकिन अपने मुख्य प्रश्न एक आम एम 2 ई एफएक्यू बिंदु के बारे में है।

शायद आप org.eclipse.m2e और इंडिगो में अपग्रेड करना चाहते हैं, तो मैवेन कॉम्प्लेक्स मेवेन मुद्दों/उपयोग के रूप में मुझे अधिकतर हल किया गया है या समझाया गया समाधान है।

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

मैं लक्ष्य/** निर्देशिका में वस्तुओं के बारे में चेतावनी (संभवतः सत्यापन) के साथ सहमत हूं और जब ग्रहण के पास लक्ष्य/** निर्देशिका को सत्यापन से मैन्युअल रूप से बहिष्कृत करने का कोई तरीका है, तो यह विकल्प किसी परियोजना से परे नहीं टिकता है (जब लक्ष्य निर्देशिका हटा दी गई है)।

तो यह एक बड़ी परियोजना में वस्तुओं की पुष्टि के लिए हमेशा प्रतीक्षा करने के लिए कुछ परेशान है।

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

+0

आपके विस्तृत उत्तर के लिए बहुत बहुत धन्यवाद। – nihilist84

+2

मेरे पास अभी भी बहिष्करण ** है, और मुझे इसका कोई जवाब नहीं मिला कि इसे कैसे ठीक किया जाए ... – blackuprise

+0

बहिष्करण **, सही है और जैसा होना चाहिए, आप स्पष्ट रूप से स्पष्टीकरण को समझ नहीं पाए कि यह सही क्यों है, कृपया अनुसंधान करें और फिर से पढ़ो। –

0

T_T एक अच्छा समाधान नहीं है। संसाधनों Maven अद्यतन


Maven संसाधनों के बिना कॉपी नहीं है: संसाधनों चरण जीवनचक्र मैपिंग में नजरअंदाज कर दिया के रूप में चिह्नित इस समस्या का कारण होगा।

जैसा कि माइल्स ने ऊपर बताया है, ग्रहण संसाधन की प्रतिलिपि नहीं बनाते क्योंकि यह मानता है कि मैवेन आपके लिए यह करेगा। फिर यदि संसाधन: संसाधन चरण जो मेवेन में नौकरी करता है निष्पादित नहीं होता है, तो आपको रनटाइम पर फ़ाइल नहीं मिली है।

जाँच करने के लिए इस खुले

परियोजना> गुण> maven-> जीवन चक्र मानचित्रण

और देखें कि क्या संसाधन: संसाधनों पर ध्यान नहीं दिया चिह्नित है या नहीं।

हल करने के लिए यह Windows-> preference-> maven-> जीवन चक्र mapping-> खुला कार्यक्षेत्र जीवन चक्र मैपिंग मेटाडाटा

तो बदल

<action> 
    <ignore /> 
    </action> 

<action> 
    <execute /> 
    </action> 

को लक्ष्य resources

के लिए

पुनः लोड मेटाडाटा & अद्यतन मेवेन प्रोजेक्ट

समस्या को हल करना चाहिए।

+0

FWIW ने किया आप बिल्ड-हेल्पर-मैवेन-प्लगइन के लिए एम 2 कनेक्टर स्थापित करना सुनिश्चित करते हैं? क्या आपको अभी भी उपर्युक्त उत्तर की आवश्यकता है? जैसा कि मैं समझता हूं कि यह बहुत सारे लक्ष्य/प्लगइन्स बनाता है जो क्लासपाथ/भवन को प्रभावित करते हैं, बस उम्मीद के अनुसार काम करते हैं। –