2017-12-12 23 views
5

के दौरान पथ तैनात करने से फ़ाइलों/फ़ोल्डर को हटा देता है मेरे पास ग्रहण webapp और serviceImpl में दो मेवेन परियोजनाएं हैं। webapp संदर्भ serviceImplग्रहण

जब serviceImpl प्रोजेक्ट बंद हो गया है और मैं webapp को टॉमकैट पर चलाता हूं और चलाता हूं, तो एप्लिकेशन ठीक काम करता है। लेकिन जब मैं webapp चलाता हूं जबकि serviceImpl खुला है, तो मुझे त्रुटि मिलती है, HTTP Status 500 - Configuration problem: Failed to import bean definitions from URL location [classpath:META-INF/serviceimpl-context.xml]। यदि मैं मशीन पर META-INF फ़ोल्डर में देखता हूं तो मुझे लगता है कि ग्रहण ने xml फ़ाइल को हटा दिया है।

जब मैं कमांड लाइन पर या इंटेलिजे में एप्लिकेशन चलाता हूं और चलाता हूं, तो समस्या या तो प्रकट नहीं होती है।

में Deployment Assembly सेटिंग्स ग्रहण की webapp खुला serviceImpl परियोजना और कुछ serviceImpl-2.0.0-SNAPSHOT.jar को source संदर्भ शामिल हैं।

enter image description here

हम भी वसंत आवेदन संदर्भ का उपयोग कर रहे हैं:

इसके अलावा Java Build Path - ->Libraries>Maven DependenciesserviceImpl नोड है।

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

मैं कमांडलाइन पर करते हैं:

mvn clean install -P build-modules-test -Dmaven.test.skip=true

तो xml फ़ाइल बनाई गई है और आवेदन ठीक काम करता है। लेकिन ग्रहण में "राइट-क्लिक प्रोजेक्ट -> मेवेन -> अपडेट प्रोजेक्ट" इन फ़ाइलों को हटा देता है, लेकिन उन्हें फिर से नहीं बनाता है ... इसलिए त्रुटि

+0

क्या यह https://stackoverflow.com/a/12253060/6309 पर जारी किया गया है? या https://stackoverflow.com/a/6759801/6309 और http://wiki.eclipse.org/WTP_Tomcat_FAQ#How_do_I_specify_the_Tomcat_context_configuration_for_my_Web_Application.3F – VonC

+0

मैंने प्रश्न में कुछ और जानकारी जोड़ दी है .. – farahm

+1

एक अपडेट प्रोजेक्ट समान नहीं है एक एमवीएन इंस्टॉल के रूप में: फ़ाइलों को पैकेज चरण के दौरान बनाया जाता है, चरण जो ग्रहण अद्यतन के दौरान नहीं कहा जाता है। – VonC

उत्तर

2

जैसा कि मैंने टिप्पणी की, "अपडेट प्रोजेक्ट" नहीं है mvn install के समान: फ़ाइलें पैकेज चरण के दौरान बनाई गई हैं, चरण जो ग्रहण अद्यतन के दौरान नहीं कहा जाता है।

देखें "Developing with Eclipse and Maven/Running Maven Builds"

आप सभी मापदंडों के साथ define a Launch Execution सेटिंग आप की जरूरत कर सकते हैं:

https://books.sonatype.com/m2eclipse-book/reference/figs/web/running_run-config.png

तो आप के रूप में एक mvn install के माध्यम से कमांड लाइन में किया एक ही चरणों पर अमल करने के लिए सुनिश्चित कर रहे हैं ।

+0

उत्तर के लिए धन्यवाद। मैंने रन कॉन्फ़िगरेशन निम्नानुसार सेट किया है: "बेस निर्देशिका" उस पथ को दिखाती है जहां मैं सामान्य रूप से कमांड लाइन पर "mvn clean install" चलाता हूं। "लक्ष्य" को "क्लीन इंस्टॉल" पर सेट किया गया है और "प्रोफाइल" "बिल्ड-मॉड्यूल-टेस्ट" पर सेट है और मैंने "छोड़ें टेस्ट" चेकबॉक्स भी चेक किया है। तो अब मुझे बिल्कुल ठीक करना चाहिए "एमवीएन क्लीन इंस्टॉल -पी बिल्ड-मॉड्यूल-टेस्ट -Dmaven.test.skip = true"। लेकिन जब मैं इसे ग्रहण में चलाता हूं तो मुझे एक त्रुटि मिल रही है। यह कई बार कहता है "पैकेज .... मौजूद नहीं है"। मैंने अपने स्थानीय मैवेन रिपोजिटरी में विशिष्ट जेनरेट किए गए जार की जांच की है और इसे अनारक्षित किया है। – farahm

+0

कमांड लाइन का उपयोग करते समय, जार में बहुत सी क्लास फाइलें होती हैं ... लेकिन जब मैं "मेवेन इंस्टाल" करता हूं (पहले टिप्पणी में वर्णित मेरी कॉन्फ़िगरेशन के साथ "जार में इन कक्षाओं में शामिल नहीं है .... कोई विचार ?? – farahm