2011-08-18 13 views
7

मैंने अभी हेलिओस से एक्लिप्स इंडिगो पर स्विच किया है, और डब्ल्यूटीपी के साथ टॉमकैट 6 पर मेवेन-सक्षम वेब प्रोजेक्ट चलाने का प्रयास करते समय मैंने कुछ परेशानियों में भाग लिया है।ग्रहण 3.7/इंडिगो एम 2 डब्ल्यूटीपी एकीकरण निर्भरता मुद्दा

मुझे टॉमकैट की क्लासिक समस्या का सामना करना पड़ रहा है जो मैवेन निर्भरताओं को नहीं देख रहा है। Helios में, वैकल्पिक हल के माध्यम से तैनाती सभा के लिए Maven निर्भरता को जोड़ने के लिए किया गया था: प्रोजेक्ट के गुण -> तैनाती विधानसभा -> जोड़ें 'पथ जावा बिल्ड प्रविष्टियां' -> Maven निर्भरता

दुर्भाग्य से, 'जावा पथ बिल्ड का विकल्प प्रविष्टियां 'सूचीबद्ध नहीं की जा रही हैं, केवल' फ़ोल्डर 'और' परियोजना '। मुझे यकीन नहीं है कि यह जानबूझकर है, या अगर मेरे सेटअप में कुछ गड़बड़ है।

    ग्रहण इंडिगो की
  • ताजा स्थापना (मैक)
  • ताजा कार्यक्षेत्र
  • m2e डब्ल्यूटीपी एकता ग्रहण बाज़ार
  • के माध्यम से स्थापित:

    बाह्य कारकों को दूर करने की कोशिश में, मैं निम्नलिखित सेटअप का उपयोग कर रहा

  • नया मेवेन प्रोजेक्ट
  • कुछ मेवेन निर्भरताओं में जोड़ें, साथ ही कुछ कोड उन्हें उपयोग करने के लिए
  • C faceted रूप
  • जोड़े 'पर गतिशील वेब मॉड्यूल' पहलू
  • Maven> परियोजना विन्यास अद्यतन
  • सर्वर

पर भागो एक बिलाव 6 सर्वर में जोड़े इस बिंदु पर, मैं देखना चाहता onvert परियोजना मेरी अनुपलब्ध निर्भरताओं से संबंधित ClassNotFoundException प्राप्त करें। यदि मैं 'एमवीएन युद्ध: युद्ध' चलाता हूं और परियोजना की तैनाती असेंबली में इकट्ठा 'वेब-आईएनएफ/lib' निर्देशिका शामिल करता हूं, तो निश्चित रूप से निर्भरता सही ढंग से उठाई जाती है - त्वरित समाधान के लिए ठीक है, लेकिन आदर्श नहीं है।

इसी तरह के मुद्दों से संबंधित समस्याओं में से अधिकांश समस्याएं गायब डब्ल्यूटीपी एकीकरण मॉड्यूल पर आ गई हैं, लेकिन यह मेरे लिए समस्या प्रतीत नहीं होती है।

क्या मैं कुछ गलत कर रहा हूं?

+0

क्या "नया मेवेन प्रोजेक्ट" जार या युद्ध का पैकेजिंग प्रकार है? – Raghuram

+0

पैकेजिंग जार था - मैं WAR में बदल गया हूं और सर्वर अब सही ढंग से तैनात है! इसे उत्तर के रूप में पोस्ट करें ताकि मैं इसे सही के रूप में चिह्नित कर सकूं - धन्यवाद। – sebrichards

+0

टिप्पणी के रूप में टिप्पणी पोस्ट किया गया। – Raghuram

उत्तर

3

ऐसा लगता है कि new maven project का पैकेजिंग प्रकार jar है। यदि ऐसा है, तो आप इसे war पर बदल सकते हैं और कोशिश कर सकते हैं।

1

यहाँ से चर्चा की है एक और समाधान: तय की।classpath फ़ाइल

<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"> 
      <attributes> 
-     <attribute name="org.eclipse.jst.component.nondependency" value=""/> 
+     <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/> 
      </attributes> 
    </classpathentry> 
1

राइट> परियोजना

  1. तैनाती विधानसभा चुनें पर क्लिक करें जोड़ें पर क्लिक करें

  2. चुनें पॉप अप विंडो से जावा का निर्माण पथ प्रविष्टियां, अगला क्लिक करें

  3. Ctrl का उपयोग करना और सभी दिखाए गए lib का चयन करने के लिए माउस

उसके बाद आप .classpath फ़ाइल में परिवर्तन देखेंगे।

सर्वर टैब में फिर से अपनी परियोजना प्रकाशित करें।

+1

हर बार जब आप मैवेन अपडेट चलाते हैं तो ये सेटिंग्स खो जाती हैं। M2e प्लगइन इन सेटिंग्स को ओवरराइट करता है, इसलिए वे मेवेन-सक्षम वेब ऐप्स से निपटने के दौरान बहुत अधिक बेकार हैं ... –

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