2012-05-10 14 views
102

मैंने अभी मेवेन का उपयोग शुरू किया और मुझे mvn install को एक विशिष्ट निर्देशिका में करने के लिए कहा गया था।मैवेन में एमवीएन इंस्टॉल करता है वास्तव में

mvn install क्या करता है, वास्तव में?

मैं इसे वर्तमान फ़ोल्डर में pom.xml के लिए लग रहा है और निर्देश है कि फ़ाइल में निर्दिष्ट निम्नलिखित शुरू होता है लगता है। क्या वो सही है?

+1

http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html –

उत्तर

68

आप के बारे में पता हो सकता है के रूप में, Maven निर्माण स्वचालन है अपाचे द्वारा प्रदान किया गया टूल जो निर्भरता प्रबंधन को और अधिक करता है। हम इसे चींटी और मेकफ़ाइल के सहकर्मी के रूप में बना सकते हैं जो आवश्यक सभी निर्भरताओं को कम करता है।

एक mvn install पर, यह एक निर्भरता सुपर pom.xml (रूट पोम) के तहत सभी उप परियोजनाओं और डाउनलोड पर परियोजना विन्यास pom.xml के आधार पर पेड़ फ्रेम/एक निर्देशिका में सभी आवश्यक घटक उपयोगकर्ता के फ़ोल्डर के अंतर्गत .m2 बुलाया संकलित । इन निर्भरताओं को किसी भी त्रुटि के बिना परियोजना के निर्माण के लिए हल किया जाना चाहिए और mvn install एक उपयोगिता है जो अधिकांश निर्भरताओं को कम कर सकती है।

इसके अलावा, वहाँ अन्य utils साथ dependency:resolve तरह Maven में किसी भी विशिष्ट मामलों में अलग से इस्तेमाल किया जा रहा है। mvn के निर्माण के जीवन चक्र के रूप में नीचे है:

  1. process-resources
  2. compile
  3. process-test-resources
  4. test-compile
  5. test
  6. package
  7. install
  8. deploy

इस एमवीएन का परीक्षण चरण ध्वज -DskipTests=true का उपयोग करके अनदेखा किया जा सकता है।

+2

बस एक साइड नोट, यदि आप सभी परीक्षण संबंधित लक्ष्यों को छोड़ना चाहते हैं, तो इसका उपयोग करें: -Dmaven.test.skip = true (बजाय -DskipTests = true) –

26

आप, maven install plugin docs, Maven डॉक्स में से किसी को देखा है, उदाहरण के लिए?

संक्षेप संस्करण: यह परियोजना का निर्माण और अपने स्थानीय भंडार में यह स्थापित हो जाएगा।

+0

मान लें कि आप ओपन-सोर्स लाइब्रेरी पर "mvn इंस्टॉल" चलाते हैं। फिर, आप एक प्रोजेक्ट पर "mvn install" चलाते हैं जो ओपन-सोर्स लाइब्रेरी का उपयोग करता है जिसे हमने पहले संकलित किया था। "एमवीएन इंस्टॉल" चलाते समय, क्या जार पहली बार स्थानीय रेपो में देखा जाएगा? या यह पीओएम फाइल पर निर्भर है? –

+1

@ केविन इसे पहले स्थानीय जाना चाहिए, क्योंकि यह उस तरह का मुद्दा है। यदि यह स्थानीय भंडार में नहीं है तो यह आपके द्वारा कॉन्फ़िगर किए गए किसी भी रिपॉजिटरीज़ (या डिफ़ॉल्ट) को देखेगा और इसे आपके स्थानीय रेपो में इंस्टॉल होने पर इंस्टॉल करेगा। मुझे संदेह है कि आप स्थानीय रिपो को हमेशा छोड़ने के लिए इसे कॉन्फ़िगर कर सकते हैं, हालांकि मुझे नहीं पता कि इसे कैसे देखे बिना। –

+12

क्या आपने * मैवेन के लिए कैननिकल दस्तावेजों को देखा है? अपाचे की साइट एमवीएन के उद्देश्य को इस प्रकार बताती है: "ज्यादातर मामलों में, इंस्टॉल करें: इंस्टॉल करें लक्ष्य को किसी भी कॉन्फ़िगरेशन की आवश्यकता नहीं है, इसे प्रोजेक्ट के पीओएम और आर्टिफैक्ट फ़ाइल को डिफॉल्ट बिल्ड लाइफसाइक्ल के इंस्टॉलेशन चरण के दौरान स्थापित करने की आवश्यकता है।" ऐसा इसलिए है क्योंकि अपाचे का डॉक्टर यह समझाने में विफल रहता है कि 'एमवीएन इंस्टॉल' वास्तव में क्या करता है कि पोस्टर और मेरे जैसे लोग उत्तर की तलाश में हैं। बिल्कुल सही सवाल है। – bethesdaboys

1

-DskipTests=true Setting.xmlमें -Dmaven.test.skip=true

परिवर्तन आपके .m2 फ़ोल्डर में बनाने का संक्षिप्त रूप है। आप स्थानीय रेपो के लिंक का उपयोग कर सकते हैं ताकि एक बार डाउनलाड किए गए जार को बार-बार डाउनलोड नहीं किया जाना चाहिए।

<url>file://C:/Users/admin/.m2/repository</url> 
</repository> 
1

install:install लक्ष्य द्वारा प्रदान की जाती «अपाचे Maven स्थापित प्लगइन»:

अपाचे Maven स्थापित प्लगइन

इंस्टॉल करें प्लगइन विरूपण साक्ष्य (रों) जोड़ने के लिए स्थापित चरण के दौरान प्रयोग किया जाता है करने के लिए स्थानीय भंडार। स्थानीय रिपॉजिटरी के भीतर आर्टिफैक्ट के लिए उचित स्थान निर्धारित करने के लिए इंस्टॉल प्लगइन पीओएम (groupId, artifactId, version) में जानकारी का उपयोग करता है।

स्थानीय भंडार स्थानीय कैश है जहां निर्माण के लिए आवश्यक सभी कलाकृतियों को संग्रहीत किया जाता है। डिफ़ॉल्ट रूप से, यह उपयोगकर्ता की होम निर्देशिका (~/.m2/repository) के भीतर स्थित है लेकिन तत्व का उपयोग कर स्थान ~/.m2/settings.xml में कॉन्फ़िगर किया जा सकता है।

- Apache Maven Install Plugin - Introduction

कहा करने के बाद कि, सटीक लक्ष्य उद्देश्य:

install:install स्वचालित रूप से परियोजना के मुख्य विरूपण साक्ष्य (जार, युद्ध या ईएआर) स्थापित करने के लिए प्रयोग किया जाता है, अपने पोम और किसी भी संलग्न कलाकृतियों (स्रोतों, जावाडोक , आदि) एक विशेष परियोजना द्वारा उत्पादित।

- Apache Maven Install Plugin - Introduction

लक्ष्य अतिरिक्त विवरणों के लिए, Apache Maven Install Plugin - install:install पेज का संदर्भ लें।

सामान्य रूप से निर्माण जीवन चक्र पर अतिरिक्त विवरण के लिए और जिस स्थान पर लक्ष्य जीवन चक्र में लक्ष्य है, कृपया Maven – Introduction to the Build Lifecycle पृष्ठ देखें।

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

  • कोई संबंधित समस्या नहीं^_^