Git से ग्रहण में एक Maven परियोजना का आयात


100

मैं मावेन और गिट दोनों से आयात करने के लिए चुनने का प्रभाव कैसे प्राप्त कर सकता हूं और ग्रहण ने मेरी परियोजना को ठीक से उत्पन्न किया है?

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

ऐसा लगता है कि मैं एक या दूसरे कर सकता हूं, लेकिन दोनों को जोड़ नहीं सकता, इसलिए मुझे एक सही ढंग से उत्पन्न परियोजना मिलती है।

जवाबों:


103

ग्रहण इंडिगो + एम 2 एक्लिप्स 1.0 यह बहुत आसान बनाता है।

यदि आपके पास M2Eclipse के लिए Git कनेक्टर पहले से नहीं है तो इसे इंस्टॉल करें। M2Eclipse आपको आयात मेनू पर संकेत देकर आपकी सहायता करेगा।

  1. पैकेज एक्सप्लोरर दृश्य से "आयात ..." संदर्भ मेनू का चयन करें
  2. मावेन श्रेणी के तहत "एससीएम से मावेन परियोजनाओं की जांच करें" विकल्प चुनें
  3. प्रस्तुत विंडो पर लिंक को चुनें "एम 2 मार्केटप्लेस में अधिक एससीएम कनेक्टर्स ढूंढें
  4. Git के लिए कनेक्टर ढूंढें ... इंस्टॉल करें ... पुनरारंभ करें

ध्यान दें कि खोज बॉक्स में आपको सही कनेक्टर खोजने के लिए "गिट" के बजाय "ईजीट" दर्ज करना पड़ सकता है।

उस काम के साथ, बस एगिट रिपॉजिटरी में जाएं, वर्किंग डायरेक्टरी के लिए संदर्भ मेनू लाएं और "इम्पोर्ट मावेन प्रोजेक्ट्स" चुनें।

किया हुआ!


4
मैंने यह इंडिगो में किया है, लेकिन जूनो में वर्तमान में एक बग है जो एम 2-गिट एससीएम को स्थापित होने से रोकता है। Bugs.eclipse.org/bugs/…
कोडी मैककोडफेस

1
@ medPhys-pl जो कि एम 2 और इगिट से संबंधित एक मुद्दा प्रतीत होता है और न कि स्वयं गिट।
श्री शंकरन

1
"आसान" सापेक्ष है। संपूर्ण ग्रहण बाज़ार एक गड़बड़ है , मावेन रिपॉस्टिटरी एक गड़बड़ है क्योंकि वे संगतता को ट्रैक नहीं करते हैं, इसलिए आप लगभग समान पैकेज की दर्जनों प्रतियों के साथ समाप्त हो जाते हैं, और अब "एम 2 मार्केटप्लेस" को जोड़ने से चीजें बेहतर नहीं बनती हैं। ।
QUIT - एनोनि-मूस

1
@ Anony-Mousse: मैं सहमत हूं कि "आसान" सापेक्ष है। हालाँकि मैंने इसका उपयोग मूल प्रश्न को संबोधित करने में अपने अनुभव का वर्णन करने के लिए किया था (Git repo से ग्रहण में आयात करना)। आपकी पकड़ वैध हो सकती है, लेकिन मुद्दों को संबोधित नहीं किया जा रहा है।
श्री शंकरन

2
चरण 4 में सुधार है, यह ".. एग्नीटिट फॉर इजीट .." होना चाहिए। बाजार स्थान में विशिष्ट खोज एम 2-एगिट होना।
नेनोस्पीक

41

मैं कमांड लाइन (एक्लिप्स के बाहर) के माध्यम से एक git क्लोन का प्रदर्शन करूंगा, फिर फ़ाइल -> आयात ... -> मौजूदा मेलेन प्रोजेक्ट्स का उपयोग करूंगा ।

आपकी परियोजनाओं को Git और Maven के उपयोग के रूप में समझा जाएगा। यह IMO आयात करने का सबसे तेज़ और सबसे विश्वसनीय तरीका है।


3
हां यह निश्चित रूप से काम करता है, लेकिन नए एम 2 को आखिरकार गिट और स्वान के साथ अच्छा एकीकरण मिला है। जैसा कि अन्य ने उल्लेख किया है, EGit 1.0.0, m2e 1.0 और m2e-egit 0.13 आपको एक कदम में ग्रहण करने के लिए git -> मटीरियल प्रोजेक्ट को भौतिक रूप देगा।
Thetoolman

हम्म, मुझे प्रोजेक्ट पर राइट-क्लिक करना था और "टीम> शेयर प्रोजेक्ट" इत्यादि का उपयोग करना था, ताकि ईजीट को यह पहचानने में मदद मिल सके कि यह एक गिट प्रोजेक्ट है।
बजे ब्रायन मैक्किऑन

19

चरण 1: ग्रहण की स्थापना

सबसे पहले आपको कुछ ग्रहण प्लग-इन स्थापित करने की आवश्यकता होगी। इसलिए मदद ड्रॉपडाउन मेनू में ग्रहण आईडीई सॉफ़्टवेयर इंस्टॉल सुविधा का उपयोग करें → नया सॉफ़्टवेयर स्थापित करें , और उपलब्ध सॉफ़्टवेयर साइट पर लिंक जोड़ें, फिर इसे इंस्टॉल करें।

  1. GIT प्लगइन (EGIT) - http://download.eclipse.org/egit/updates
  2. ग्रहण मावेन प्लगइन (M2Eclipse) - http://download.eclipse.org/technology/m2n/releases
  3. ईजीत के लिए मैवेन एससीएम हैंडलर (एम 2-एगिट)

    M2E मार्केटप्लेस से इंस्टॉल करें (सेटिंग्स → Maven → Discovery → ओपन कैटलॉग और "m2e-egit" के लिए खोजें)


चरण 2: क्लोन रिपॉजिटरी

Git से अपने Maven प्रोजेक्ट्स को क्लोन (डाउनलोड) करें

गैर-ग्रहण मावेन परियोजनाओं को Git से देखें (फ़ाइल → आयात .. → मावेन → SCM से मावेन परियोजनाएँ देखें)

फ़ाइल → आयात .. → Maven → SCM से Maven प्रोजेक्ट्स देखें

अब SCM URI फ़ील्ड में अपना git रिपॉजिटरी लिंक जोड़ें। फिर अगला क्लिक करें और समाप्त करें।


18

इस (अद्यतन) लेखन के रूप में, एक कामकाजी सेटअप निम्नलिखित है:

  1. ग्रहण ३. 3.8 (ग्रहण इंडिगो अपडेट साइट)
  2. ईजीट 1.3.0 (ग्रहण इंडिगो अपडेट साइट)
  3. एम 2 1.0.200 (ग्रहण इंडिगो अपडेट साइट)
  4. कनेक्टर को जोड़ने पर m2e-egit 0.14.0 (m2e बाज़ार)

उबंटू रेयरिंग पर टेस्ट किया गया।

आप निश्चित रूप से "आयात" -> "मावेन" -> "एससीएम से मावेन परियोजनाओं की जांच कर सकते हैं", और यह सबसे तेज़ तरीका है। हालाँकि, ऐसे प्रत्यक्ष आयात वर्तमान में आपको क्लोन रिपॉजिटरी फ़ोल्डर के नाम पर नियंत्रण नहीं देते हैं। आप "गेट रिपॉजिटरी" से काम करने से बेहतर हो सकते हैं और इस तरह के क्लोन से "इम्पोर्ट मावेन प्रोजेक्ट्स" के बाद "गैट रिपॉजिटरी से एक क्लोन और इस दृश्य में क्लोन जोड़ें" प्रदर्शन करें; सबसे लंबा रास्ता अपने मैनुअल क्लोनिंग करना होगा और फिर "इस दृश्य में एक मौजूदा स्थानीय गिट रिपॉजिटरी जोड़ें", इसके बाद फिर से "आयात मावेन प्रोजेक्ट्स" होगा। किसी भी स्थिति में आपके पास क्लोन फ़ोल्डर पर पूर्ण नियंत्रण है।

एक पक्ष के मुद्दे पर एक अंतिम टिप्पणी जिसने मुझे निराशा में रो दिया। जहां तक ​​मुझे पता है, यदि क्लोन रिपॉजिटरी आपके ग्रहण कार्यक्षेत्र की जड़ पर स्थित है, और आपकी मेवेन प्रोजेक्ट फाइल पदानुक्रम में इसकी जड़ में एक पोम है, तो इस तरह के रूट प्रोजेक्ट को आयात करने से क्लोन फ़ोल्डर का नाम बदल जाएगा (आपके द्वारा चुने गए टेम्पलेट के साथ, चूक) [विरूपण साक्ष्य]]। अपनी परियोजना संरचना को बदले बिना और अपने कार्यक्षेत्र के बाहर फाइलें रखने के बिना, आप आसानी से इस मुद्दे के आसपास कार्यक्षेत्र फ़ोल्डर के एक सब -फ़ोल्डर पर क्लोन करके काम कर सकते हैं।


13

मैं अपने प्रोजेक्ट के लिए इसका परीक्षण कर रहा हूं।

  1. Eclispe Indigo
  2. "सहायता> नया सॉफ़्टवेयर स्थापित करें" "Git Plugin .." पर आधिकारिक Git प्लग-इन को सक्षम / स्थापित करें और बहुत कुछ स्थापित करें।
  3. इन निर्देशों के साथ मावेन / एगिट कनेक्टर को सक्षम करें आपको m2eclipse के साथ काम करने में गिट एकीकरण कैसे प्राप्त होगा?
  4. Git रिपॉजिटरी परिप्रेक्ष्य में स्विच करें। राइट क्लिक पेस्ट प्रोजेक्ट git url। चूक सभी काम करना चाहिए। आप यह अनुमान लगाने वाले फ़ोल्डर को बदलना चाहते हैं।
  5. क्लोन रिपोजिटरी का विस्तार करें और "वर्किंग ट्री" पर राइट क्लिक करें और "इम्पोर्ट मावेन प्रोजेक्ट्स ..." चुनें।
  6. जावा परिप्रेक्ष्य में स्विच करें। प्रोजेक्ट पर राइट क्लिक करें और "टीम> शेयर प्रोजेक्ट" चुनें। "गिट" का चयन करें और "प्रोजेक्ट के मूल फ़ोल्डर में रिपॉजिटरी का उपयोग करें या बनाएं" बॉक्स पर टिक करना सुनिश्चित करें।

1
हाँ, मैंने भी यही किया। अंडरस्टैंडिंग न करें, क्यों एम 2-एगिट चरण 6. स्वचालित रूप से नहीं करता है।
xmedeko

6

यहाँ मेरा समाधान है, यह इन मुद्दों का हल है:

  • आप m2e-egit स्थापित नहीं कर सकते (मुझे जूनो में त्रुटि मिली)
  • एक सामान्य परियोजना (आपके गिट रिपॉजिटरी से जुड़े) को मावेन प्रोजेक्ट में बदलना आपके लिए काम नहीं कर रहा है (आयात मावेन प्रोजेक्ट्स कदम जरूरी लगता है)
  • फाइल सिस्टम पर अपने रिपॉजिटरी से मावेन प्रोजेक्ट्स को आयात करना Git से जुड़े प्रोजेक्ट को नहीं दिखा रहा है।

  1. अपने Git रिपॉजिटरी को Git Repository Exploring परिप्रेक्ष्य में सेट करें।
    • जावा परिप्रेक्ष्य में स्विच करें, आयात> मौजूदा मावेन परियोजनाएं
    • फाइलसिस्टम में अपने Git चेकआउट में ब्राउज़ करें, pom.xml फ़ाइल वाली निर्देशिका का चयन करें। आयात समाप्त करें; आप देखेंगे कि ये परियोजनाएँ Git से जुड़ी नहीं हैं। :-(
    • इन प्रोजेक्ट्स को हटाएं, लेकिन FILESYSTEM से इसे डिलीट न करें । हम अपने क्लोन को नष्ट नहीं करना चाहते हैं; यह कार्य भी .project फ़ाइल को पीछे छोड़ देता है ताकि हम अगले चरण में आयात कर सकें।
  2. Git रिपॉजिटरी एक्सप्लोरिंग परिप्रेक्ष्य पर वापस जाएं ।
    • अपनी रिपोजिटरी, आयात परियोजनाओं पर राइट-क्लिक करें ...
    • मौजूदा परियोजनाओं का आयात करें चुनें
    • नीचे एक्सप्लोरर में, pom.xml (और .project फ़ाइल) युक्त निर्देशिका को ब्राउज़ करें और चुनें, फिर अगले पर क्लिक करें।
    • जादूगर के माध्यम से जारी रखें।

एक्लिप्स लूना में, इसने 1.2 चरण के बाद काम किया (परियोजना पहले आयात के बाद गिट से जुड़ी थी)।
PJ_Finnegan

4

माइलिन के लिए कोई अतिरिक्त कनेक्टर स्थापित किए बिना आयात करें:

  1. खुला Git Repositoriesदृश्य (विंडो-> दृश्य देखें-> गिट रिपोजिटरी)
  2. प्रेस Clone a Git Repositoryबटन और सभी चरणों के साथ आगे बढ़ना
  3. नव निर्मित रिपॉजिटरी विस्तार में Working Directory, अपनी परियोजना के साथ फ़ोल्डर पर राइट क्लिक करें और चुनें Import Projects। फिर या तो चुनें Import existing projects, या चुनें Import as general project। यदि आपके प्रोजेक्ट पर राइट क्लिक करने के बाद ज़रूरत है और कॉन्फ़िगर करें का चयन करें-> Maven Project में कनवर्ट करें (और Maven-> अपडेट प्रोजेक्ट)।

3

आपको ध्यान देना चाहिए कि संस्करण नियंत्रण के तहत उत्पन्न मेटाडेटा को डालना (इसे गिट या किसी अन्य scm होने दें), एक बहुत अच्छा विचार नहीं है यदि कोडबेस पर एक से अधिक डेवलपर काम कर रहे हैं। दो डेवलपर्स एक पूरी तरह से अलग परियोजना या क्लासपैथ सेटअप हो सकते हैं। यदि आप किसी समय कोड साझा करने का इरादा रखते हैं, तो एक प्रमुख के रूप में ...


2

मेरे पास तीन सबमॉडल्स के साथ एक मावेन प्रोजेक्ट है जिसे गिट में प्रबंधित किया गया है। मैंने उन्हें इस प्रकार ग्रहण किया:

  1. मैंने ईजीट का उपयोग करके ग्रहण के साथ गिट रिपॉजिटरी को पंजीकृत किया
  2. मैंने मौजूदा मावेन परियोजनाओं के रूप में परियोजनाओं को आयात किया
  3. प्रत्येक प्रोजेक्ट के लिए, मैं टीम गया | शेयर परियोजना

1

मैं mavenपरियोजनाओं के बजाय ग्रहण के रूप में परियोजनाओं को आयात करना पसंद करूंगाgit । ऐसा करने से अभी भी परियोजना सामग्री को गिट सामग्री के रूप में मान्यता दी जाएगी। आप ग्रहण से गिट संचालन जारी रख सकते हैं। जैसा कि आपने उल्‍लेख किया है कि यह सही नहीं है।

एक्लिप्स में एक परियोजना की प्रकृति एससीएम पर आधारित नहीं है जो परियोजना रखती है, लेकिन परियोजना के प्रकार पर - चाहे युद्ध या जार, आदि - जो स्वचालित रूप से निर्धारित किया जाता है जब परियोजना को मावेन परियोजना के रूप में आयात किया जाता है।

मुझे SCM IDE- विशिष्ट मेटाडेटा में चेक-इन करने में संकोच होगा। ऐसा करने से बहुत सी चीजें हो जाती हैं - सभी डेवलपर्स एक ही आईडीई या आईडीई के संस्करण का उपयोग कर रहे हैं, शायद जेडीके / जेआरई का एक ही संस्करण, कि वे पूरे प्रोजेक्ट जीवनचक्र और इसी तरह एक ही संस्करण का उपयोग करते रहें।


1

नहीं तो आप एक Git परियोजना के रूप में आयात और फिर कर सकते हैं (यदि आपके पास m2eclipse में परियोजना पर स्थापित) राइट क्लिक पैकेज एक्सप्लोरर > Maven> Enable Dependency Management?


1
यदि दृश्यमान नहीं है और आपने m2e स्थापित किया है, तो .project फ़ाइल खोलें और स्वयं maven2 प्रकृति जोड़ें: <name> org.eclipse.m2e.core.maven2Builder </ name>
dimitrisli

1

Egit में अपनी शाखा की जाँच करने के बाद, मैंने Java View में स्विच किया, फिर फ़ाइल -> आयात, Git -> Git से प्रोजेक्ट्स का उपयोग किया, फिर शीर्ष स्तर मावेन निर्देशिका का चयन किया। यह ग्रहण केप्लर के साथ था।


-3

आयात-> मावेन कमांड के माध्यम से लगातार परियोजना मेटाडेटा उत्पन्न करने के बजाय, आप अपने प्रोजेक्ट मेटाडेटा को एक बार जनरेट कर सकते हैं और इसे अपने स्रोत कोड के बाकी हिस्सों के साथ अपने गिट रिपॉजिटरी में रख सकते हैं। आयात करने के बाद, आयात-> git कमांड एक उचित मावेन-इनेबल्ड प्रॉजेक्ट को आयात करेगा, यह मानते हुए कि आपके पास मावेन टूल्स इंस्टॉल हैं।

स्रोत नियंत्रण प्रणाली में परियोजना dir में सभी फाइलों को रखना सुनिश्चित करें जो 'से शुरू होती हैं।' जैसे .classpath और .project .settings निर्देशिका की संपूर्ण सामग्री के साथ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.