2011-01-14 13 views
6

में टॉमकैट पुस्तकालय निर्भरता सेट अप मैं वर्तमान में ग्रहण/चींटी से मेवेन/एम 2 एक्लिप्स/आर्टिफैक्टरी से हमारी निर्माण प्रक्रिया को माइग्रेट कर रहा हूं। मेरे पास एक्लिप्स में एक डब्ल्यूटीपी परियोजना के रूप में एक वेबैप है। मैंने इसे m2eclipse के साथ मेवेन में माइग्रेट कर दिया है।मैवेन पीओएम

संकलन ग्रहण आईडीई से ठीक चलाता है।

हालांकि

, जब मैं Maven CLI से संकलित करने के लिए (mvn clean & mvn compile) की कोशिश, Maven के बारे में बिलाव पर्यावरण द्वारा प्रदान की पुस्तकालयों नहीं मिल शिकायत (जैसे एनोटेशन-api, सर्वलेट-api, आदि, ...) ।

पर्याप्त मेला: दरअसल, इन निर्भरताओं Java resources/Libraries/ApacheTomcat6 के रूप में, डब्ल्यूटीपी द्वारा प्रदान की जाती हैं। मेवेन उनसे अवगत नहीं है।

मैं इसे बिल्ड पथ में निष्क्रिय कर सकता हूं, और अपने पीओएम में प्रत्येक संबंधित निर्भरता जोड़ सकता हूं, लेकिन मुझे डर है कि यह मैवेन को मेरे वेबैप (WEB-INF/libs) में फिर से तैनात करने के लिए नेतृत्व करेगा।

तो, अच्छा तरीका maven करने के लिए "इस आवेदन, एक प्रसिद्ध वातावरण में चलेंगे निम्नलिखित पुस्तकालयों प्रदान" कहने के लिए क्या है। क्या कोई आम टॉमकैट पीओएम है जिसे मैं निर्भरता के रूप में जोड़ सकता हूं?

आपकी सलाह के लिए अग्रिम धन्यवाद। संबंध है,

राफेल

उत्तर

11

एक तरीका यह संभाल करने के लिए गुंजाइश provided के साथ इन निर्भरता घोषित करने के लिए है। ये निर्भरता संकलन और परीक्षण के लिए उपलब्ध होगी, लेकिन वेबपैड में मैवेन द्वारा पैक नहीं किया जाएगा। उदाहरण के लिए,

 <dependency> 
      <groupId>javax.servlet</groupId> 
      <artifactId>jsp-api</artifactId> 
      <version>2.0</version> 
      <scope>provided</scope> 
     </dependency> 
+1

ऊपर आपको अपने पोम में परिभाषित करने की आवश्यकता है। प्रदान करने के लिए दायरे को बदलें ताकि मैवेन आपके अंतिम निर्माण में उन जारों को शामिल न करे। – fmucar

+1

धन्यवाद, क्या आप जानते हैं कि टोमकैट पहले से ही "प्रदत्त" के रूप में सूचीबद्ध सभी पुस्तकालयों के साथ एक पीओएम परियोजना प्रदान करता है? मैं इसे एक निर्भरता के रूप में जोड़ सकता था। –

+0

@ राफेल जोलिवेट जो साफ होगा, यह भी ढूंढ रहे हैं (लेकिन ग्लासफ़िश के लिए, वास्तव में)। क्या तुम्हें कुछ मिला? –

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