2017-03-02 6 views
9

सबसे पहले, मुझे this question के बारे में पता है, लेकिन मुझे उन विवरणों में दिलचस्पी है जो वहां उपलब्ध नहीं हैं।मैवेन अपडेट प्रोजेक्ट एक्लिप्स में क्या करता है?

मैंने m2eclipse के प्रलेखन पर एक नज़र डाली और इसे असंतोषजनक रूप से लैकोनिक पाया। केवल प्रासंगिक हिस्सा मैं मिल सकता है

है वैकल्पिक रूप से आप चला सकते हैं परियोजना पॉपअप मेनू, जो डिफ़ॉल्ट रूप से "प्रक्रिया-संसाधनों" चलाने के लिए कॉन्फ़िगर किया गया है से "Maven/अपडेट परियोजना विन्यास" कार्रवाई और यह भी बदला जा सकता है वही वरीयता पृष्ठ पर।

लेकिन मैं नहीं कर सका कि Update project configurationUpdate project जैसा ही है। मेरे आसपास ब्राउज़ करते समय पाए गए अन्य सभी स्रोतों में कोई विवरण नहीं दिया गया है।

सारांश यह है कि मैं क्या जानना चाहते हैं है:

  1. करता Update project रन किसी भी Maven प्लगइन और, यदि हां, तो कौन सा और जो डिफ़ॉल्ट सेटिंग के साथ?
  2. क्या ऐसे प्रभाव हैं जो मेवेन प्लगइन का परिणाम नहीं हैं, लेकिन ग्रहण के लिए आंतरिक हैं?
  3. परियोजना संरचना पर संशोधन क्या हैं? उदाहरण के लिए, मैवेन निर्भरता स्थानीय रूप से कॉपी की गई हैं?

उत्तर

4

अद्यतन परियोजना किसी भी Maven प्लगइन चलाने के लिए और, यदि हां, तो कौन सा और जो डिफ़ॉल्ट सेटिंग के साथ है?

अद्यतन प्रोजेक्ट के दौरान, m2eclipse मेवेन-कोर बिल्ड प्रोजेक्ट ऑब्जेक्ट मॉडल का उपयोग करता है। विशेष रूप से, maven model builder प्रोजेक्ट मॉडल बनाने के लिए उपयोग किया जाता है। दूसरे शब्दों में, यह निर्भरता संकल्प, त्रुटि और चेतावनी अधिसूचना की ओर जाता है। परिणाम के बारे में अधिक जानकारी के लिए, आप org.apache.maven.project.ProjectBuildingResult

देख सकते हैं कि मुझे नहीं लगता कि यह प्लगइन चलाने में परिणाम देता है। मैंने एक कर्सर लुक लिया और phase 2 अपडेट करते समय अपडेट सक्षम नहीं है जो प्लगइन प्रोसेसिंग करता है।

क्या ऐसे प्रभाव हैं जो मेवेन प्लगइन का परिणाम नहीं हैं, लेकिन ग्रहण के लिए आंतरिक हैं?

हां। उत्तर के अंतिम खंड देखें।

परियोजना संरचना पर संशोधन क्या हैं? उदाहरण के लिए, मैवेन निर्भरता स्थानीय रूप से कॉपी की गई हैं?

यदि स्थानीय रूप से आपका मतलब है, ग्रहण कार्यक्षेत्र में तो नहीं। मेवेन निर्भरता स्थानीय भंडार का संदर्भ दिखाती है जो आम तौर पर/.m2/repository होती है। रिपोजिटरी को ग्रहण मेनू "विंडोज-> वरीयता-> उपयोगकर्ता सेटिंग्स" की सेटिंग के आधार पर भी हल किया गया है।

अधिक जानकारी के लिए, आप निम्न source code (तरीकों लागू है जब आप ग्रहण में अद्यतन परियोजना कर में से एक),

public IStatus runInWorkspace(IProgressMonitor monitor) { 
    ...... Unimportant stuff 

    MavenUpdateRequest request = new MavenUpdateRequest(projects, offline,forceUpdateDependencies); 
    Map<String, IStatus> updateStatus = configurationManager.updateProjectConfiguration(request, updateConfiguration, 
    cleanProjects, refreshFromLocal, monitor); 


...... Unimportant stuff 

}

प्रदर्शन विभिन्न कार्यों का सारांश (व्यापक नहीं से शुरू कर सकते हैं)

  1. परियोजना प्रणाली के संबंध में परियोजना को ताज़ा किया जाता है। यह ग्रहण में जावा प्रोजेक्ट पर रीफ्रेश करने के समान है।
  2. जांचें कि वर्कस्पेस में निर्भरताओं में से कोई एक जोड़ा गया है या नहीं। आपने स्थानीय परियोजना फ़ोल्डर में मैवेन निर्भरता के तहत ध्यान दिया होगा। जुनीट और अन्य सामान इस सुविधा का उपयोग करके बदलाव उठाएंगे।
  3. मेवेन-कोर पुस्तकालयों का उपयोग करके मेवेन प्रोजेक्ट मॉडल बनाएं।
  4. लाइफसाइक्ल मैपिंग रीफ्रेश - M2Eclipse क्रियाओं को ग्रहण करने के लिए कुछ प्लगइन लाइफसाइक्सेस को मैप करने का प्रयास करता है। अधिक जानकारी के लिए check
  5. अंत में, ग्रहण का निर्माण प्रणाली का उपयोग कर परियोजना

साथ ही बनाता है, यह भी कार्यक्षेत्र जो इस संदर्भ में बहुत महत्वपूर्ण नहीं है में माता-पिता पोम उपस्थिति के साथ कुछ सामान है। आपके संदर्भ में महत्वपूर्ण नहीं -

अद्यतन परियोजना विन्यास में मुख्य रूप से

  1. जोड़ना Maven प्रकृति (.project फ़ाइल में org.eclipse.m2e.core.maven2Nature) से संबंधित है। this देखें।
  2. project.build.sourceEncoding मेवेन संपत्ति के आधार पर आपकी परियोजना के लिए डिफ़ॉल्ट वर्णसेट सेट करना।
  3. ग्रहण - प्लगइन जीवन चक्र प्रसंस्करण। ऊपर प्वाइंट 3।
+1

धन्यवाद, यह बहुत उपयोगी जानकारी है। अगर मैं सही ढंग से समझ गया हूं, तो स्रोत कोड केवल एकमात्र व्यापक संदर्भ उपलब्ध है? – burubum

+1

हां और दुर्भाग्यवश यह भी बहुत पठनीय नहीं है :(, योगदानकर्ताओं को कोई अपराध नहीं। – GauravJ

+0

@GauravJ साझा करने के लिए धन्यवाद। आप यह कैसे जानते हैं? क्या 'अपडेट प्रोजेक्ट' कमांड के बारे में कोई आधिकारिक बयान (ऑनलाइन उपलब्ध है) या 'मेवेन प्रोजेक्ट अपडेट करें' संवाद? क्या आप कृपया लिंक प्रदान कर सकते हैं? (एफवाईआई मैंने पाया है कि एकमात्र दस्तावेजी घटना एम 2 दस्तावेज में थी, और यह पूरी तरह से अपर्याप्त है (eclipse.org/m2e/documentation/release-notes-15.html देखें) – KiriSakow

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