การนำเข้าโครงการ Maven ไปยัง Eclipse จาก Git


100

ฉันจะได้รับผลของการเลือกนำเข้าจากทั้ง Maven และ Git และให้ Eclipse สร้างโครงการของฉันอย่างถูกต้องได้อย่างไร

เพื่อให้โครงการของฉันเข้าสู่ Eclipse ฉันสามารถเลือก File-> import-> maven จากนั้นฉันจะนำเข้าโครงการ Maven ทั้งหมดและสามารถสร้างได้ดีหรือฉันสามารถเลือก File-> import-> git และสร้างโปรเจ็กต์ใหม่ที่ละเว้น pom .xml และสร้างโครงการไม่ถูกต้อง

ดูเหมือนว่าฉันสามารถทำอย่างใดอย่างหนึ่ง แต่ไม่สามารถรวมทั้งสองอย่างได้ดังนั้นฉันจึงได้รับโครงการที่สร้างขึ้นอย่างถูกต้อง

คำตอบ:


103

Eclipse Indigo + M2Eclipse 1.0 ทำให้ง่ายมาก

หากคุณยังไม่มีตัวเชื่อมต่อ Git สำหรับ M2Eclipse ให้ติดตั้ง M2Eclipse จะช่วยคุณโดยแจ้งให้คุณในเมนูนำเข้า

  1. เลือกเมนูบริบท "นำเข้า ... " จากมุมมอง Package Explorer
  2. เลือกตัวเลือก "ตรวจสอบโครงการ Maven จาก SCM" ภายใต้หมวดหมู่ Maven
  3. บนหน้าต่างที่ปรากฏขึ้นให้เลือกลิงก์ "ค้นหาตัวเชื่อมต่อ SCM เพิ่มเติมใน m2e Marketplace
  4. ค้นหาตัวเชื่อมต่อสำหรับ Git ... ติดตั้ง ... เริ่มต้นใหม่

โปรดทราบว่าในช่องค้นหาคุณอาจต้องป้อน "EGit" แทน "Git" เพื่อค้นหาตัวเชื่อมต่อที่ถูกต้อง

เมื่อเสร็จแล้วเพียงไปที่ที่เก็บ EGit เปิดเมนูบริบทสำหรับไดเรกทอรีการทำงานและเลือก "นำเข้าโครงการ Maven ... "

เสร็จแล้ว!


4
ฉันเคยทำสิ่งนี้ใน Indigo แต่ใน Juno ขณะนี้มีข้อผิดพลาดที่ป้องกันไม่ให้ติดตั้ง m2e-git SCM bugs.eclipse.org/bugs/…
Codey McCodeface

1
@ medPhys-pl ดูเหมือนว่าจะเป็นปัญหาเกี่ยวกับ m2e และEGitไม่ใช่ Git เอง
Sri Sankaran

1
"ง่าย" เป็นญาติ ตลาด eclipseทั้งหมดเป็นเรื่องยุ่งเหยิงการทำ repostiories ของ maven นั้นยุ่งเหยิงเพราะพวกเขาไม่ได้ติดตามความเข้ากันได้ดังนั้นคุณจึงได้แพ็คเกจที่เกือบจะเหมือนกันหลายสิบชุดและตอนนี้การเพิ่ม "m2e marketplace" ไม่ได้ทำให้สิ่งต่างๆดีขึ้น .
มี QUIT - Anony-Mousse

1
@ Anony-Mousse: ฉันยอมรับว่า "ง่าย" นั้นสัมพันธ์กัน อย่างไรก็ตามฉันใช้สิ่งนั้นเพื่ออธิบายประสบการณ์ของฉันในการตอบคำถามดั้งเดิม (นำเข้าสู่ Eclipse จาก Git repo) กริปของคุณอาจใช้ได้ แต่ไม่ใช่ปัญหาที่ได้รับการแก้ไข
Sri Sankaran

2
มีการแก้ไขในขั้นตอนที่ 4 ควรเป็น ".. connector for EGit .. ". เพื่อเป็นการค้นหาที่เฉพาะเจาะจง m2e-egit ในตลาด
nanospeck

41

ฉันจะทำการโคลน git ผ่านทางบรรทัดคำสั่ง (นอก Eclipse) จากนั้นใช้ไฟล์ -> นำเข้า ... -> โครงการ Maven ที่มีอยู่ที่มีอยู่โครงการ

โครงการของคุณจะเข้าใจว่าใช้ Git และ Maven เป็นวิธีการนำเข้า IMO ที่รวดเร็วและน่าเชื่อถือที่สุด


3
ใช่มันใช้งานได้แน่นอน แต่ในที่สุด m2 ที่ใหม่กว่าก็ได้รวมเข้ากับ git และ svn ได้ดี ดังที่คนอื่น ๆ ได้กล่าวไว้ EGit 1.0.0, m2e 1.0 และ m2e-egit 0.13 จะทำให้คุณได้รับ git -> เป็นรูปธรรมโครงการ mvn เพื่อคราสในขั้นตอนเดียว
thetoolman

อืมฉันต้องคลิกขวาที่โปรเจ็กต์และใช้ "ทีม> แชร์โปรเจ็กต์" ฯลฯ เพื่อให้ EGit รับรู้ว่าเป็นโปรเจ็กต์ Git
Brian McCutchon

19

ขั้นตอนที่ 1: การตั้งค่า Eclipse

ก่อนอื่นคุณจะต้องติดตั้งปลั๊กอิน Eclipse สองสามตัว ดังนั้นให้ใช้คุณสมบัติการติดตั้งซอฟต์แวร์ eclipse IDE ในเมนูแบบเลื่อนลงความช่วยเหลือ→ติดตั้งซอฟต์แวร์ใหม่และเพิ่มลิงค์ไปยังไซต์ซอฟต์แวร์ที่พร้อมใช้งานจากนั้นติดตั้ง

  1. ปลั๊กอิน GIT (EGIT) - http://download.eclipse.org/egit/updates
  2. ปลั๊กอิน Eclipse Maven (M2Eclipse) - http://download.eclipse.org/technology/m2e/releases
  3. Maven SCM Handler สำหรับ EGit (m2e-egit)

    ติดตั้งจาก M2E Marketplace (การตั้งค่า→ Maven →การค้นพบ→เปิดแคตตาล็อกและค้นหา "m2e-egit")


ขั้นตอนที่ 2: โคลนที่เก็บ

โคลน (ดาวน์โหลด) โครงการ Maven ของคุณจาก Git

ตรวจสอบโครงการ Maven ที่ไม่ใช่ eclipse จาก Git (ไฟล์→นำเข้า .. → Maven →ดูโครงการ Maven จาก SCM)

ไฟล์→นำเข้า .. → Maven →ตรวจสอบโครงการ Maven จาก SCM

ตอนนี้เพิ่มลิงก์ที่เก็บ git ของคุณไปยังฟิลด์ SCM URI จากนั้นคลิกถัดไปและเสร็จสิ้น


18

จากการเขียน (อัปเดต) นี้การตั้งค่าการทำงานมีดังต่อไปนี้:

  1. Eclipse 3.8 (ไซต์อัพเดต Eclipse Indigo)
  2. EGit 1.3.0 (ไซต์อัพเดต Eclipse Indigo)
  3. m2e 1.0.200 (ไซต์อัพเดต Eclipse Indigo)
  4. m2e-egit 0.14.0 (ตลาด m2e เมื่อเพิ่มตัวเชื่อมต่อ)

ทดสอบบน Ubuntu Raring

คุณสามารถ "นำเข้า" -> "Maven" -> "ตรวจสอบโครงการ Maven จาก SCM" ได้อย่างแน่นอนและนี่เป็นวิธีที่เร็วที่สุด อย่างไรก็ตามการนำเข้าโดยตรงดังกล่าวในปัจจุบันไม่ได้ให้คุณควบคุมชื่อโฟลเดอร์ที่เก็บที่ถูกโคลน คุณอาจจะทำงานได้ดีกว่าจากมุมมอง "Git Repository" และดำเนินการอย่างใดอย่างหนึ่ง "Clone from a Git Repository และเพิ่มโคลนลงในมุมมองนี้" ตามด้วย "Import Maven Projects" จากโคลนดังกล่าว วิธีที่ยาวที่สุดคือทำการโคลนด้วยตนเองจากนั้น "เพิ่มที่เก็บ Git ในเครื่องที่มีอยู่ในมุมมองนี้" ตามด้วย "นำเข้าโครงการ Maven" อีกครั้ง ไม่ว่าในกรณีใดคุณสามารถควบคุมโฟลเดอร์ที่โคลนได้อย่างสมบูรณ์

ความคิดเห็นสุดท้ายเกี่ยวกับปัญหาด้านข้างที่ทำให้ฉันร้องไห้ด้วยความหงุดหงิด เท่าที่ฉันทราบถ้าที่เก็บที่โคลนอยู่บนรูทของพื้นที่ทำงาน Eclipse ของคุณและลำดับชั้นของไฟล์โครงการ Maven ของคุณมี POM อยู่บนรูทจากนั้นการนำเข้าโปรเจ็กต์รูทดังกล่าวจะเปลี่ยนชื่อโฟลเดอร์ที่โคลน (ด้วยเทมเพลตที่คุณเลือกค่าเริ่มต้น ถึง [artifactId]) โดยไม่ต้องเปลี่ยนโครงสร้างโครงการและไม่เก็บไฟล์ไว้นอกพื้นที่ทำงานคุณสามารถแก้ไขปัญหานี้ได้อย่างง่ายดายโดยการโคลนโฟลเดอร์ย่อยของโฟลเดอร์พื้นที่ทำงาน


13

ฉันได้ทดสอบสิ่งนี้สำหรับโครงการของฉัน

  1. Eclispe Indigo
  2. "Help> Install New Software" เปิด / ติดตั้งปลั๊กอิน Git อย่างเป็นทางการที่ "Eclipse Git Plugin .. " และติดตั้งล็อต
  3. เปิดใช้งานขั้วต่อ Maven / EGit ด้วยคำแนะนำเหล่านี้ คุณจะทำให้การรวม git ทำงานกับ m2eclipse ได้อย่างไร?
  4. เปลี่ยนไปใช้มุมมองที่เก็บ Git คลิกขวาที่วาง URL คอมไพล์ของโปรเจ็กต์ ค่าเริ่มต้นควรใช้งานได้ทั้งหมด คุณอาจต้องการเปลี่ยนโฟลเดอร์การติดตั้งที่เดาได้
  5. ขยายที่เก็บโคลนและคลิกขวาที่ "Working Tree" และเลือก "Import Maven Projects ... "
  6. เปลี่ยนไปใช้มุมมอง Java คลิกขวาที่โครงการแล้วเลือก "ทีม> แชร์โครงการ" เลือก "Git" และอย่าลืมทำเครื่องหมายในช่อง "ใช้หรือสร้างที่เก็บในโฟลเดอร์หลักของโครงการ"

1
ใช่ฉันทำเช่นเดียวกัน ไม่ต้องสงสัยทำไม m2e-egit ไม่ทำขั้นตอนที่ 6 โดยอัตโนมัติ
xmedeko

6

นี่คือวิธีแก้ปัญหาของฉันนี่คือวิธีแก้ปัญหาเหล่านี้:

  • คุณไม่สามารถติดตั้ง m2e-egit ได้ (ฉันได้รับข้อผิดพลาดใน Juno)
  • การแปลงโครงการทั่วไป (เชื่อมต่อกับที่เก็บ Git ของคุณ) เป็นโครงการ Maven ไม่ได้ผลสำหรับคุณ (ขั้นตอนการนำเข้า Maven Projects ดูเหมือนจำเป็น)
  • การนำเข้า Maven Projects จากที่เก็บของคุณบนระบบไฟล์จะไม่แสดงโปรเจ็กต์ที่เชื่อมต่อกับ Git

  1. ตั้งค่าที่เก็บ Git ของคุณในมุมมอง Git Repository Exploring
    • เปลี่ยนเป็นมุมมอง Java นำเข้า> โครงการ Maven ที่มีอยู่
    • เรียกดูการชำระเงิน Git ของคุณในระบบไฟล์เลือกไดเร็กทอรีที่มีไฟล์ pom.xml เสร็จสิ้นการนำเข้า คุณจะสังเกตเห็นว่าโครงการเหล่านี้ไม่ได้เชื่อมต่อกับ Git :-(
    • ลบโครงการเหล่านี้ แต่ไม่ลบจากระบบแฟ้ม เราไม่ต้องการให้โคลนของเราถูกลบ งานนี้ยังทิ้งไฟล์. project ไว้ข้างหลังเพื่อให้เรานำเข้าในขั้นตอนต่อไป
  2. กลับไปที่Git Repository Exploringมุมมอง
    • คลิกขวาที่ที่เก็บของคุณนำเข้าโครงการ ...
    • เลือกนำเข้าโครงการที่มีอยู่
    • ใน explorer ด้านล่างเรียกดูและเลือกไดเร็กทอรีที่มี pom.xml (และไฟล์. project) จากนั้นคลิกถัดไป
    • ดำเนินการต่อผ่านตัวช่วยสร้าง

ใน Eclipse Luna จะทำงานหลังจากขั้นตอนที่ 1.2 (โครงการเชื่อมต่อกับ Git หลังจากการนำเข้าครั้งแรก)
PJ_Finnegan

4

นำเข้าโดยไม่ต้องติดตั้งตัวเชื่อมต่อเพิ่มเติมสำหรับ Mylyn:

  1. เปิดGit Repositoriesมุมมอง (หน้าต่าง -> แสดงมุมมอง -> ที่เก็บ Git)
  2. กดClone a Git Repositoryปุ่มและดำเนินการตามขั้นตอนทั้งหมด
  3. ในพื้นที่เก็บข้อมูลที่สร้างขึ้นใหม่ขยายคลิกขวาที่โฟลเดอร์ที่มีโครงการของคุณและเลือกWorking Directory Import Projectsแล้วทั้งเลือกหรือเลือกImport existing projects Import as general projectหากจำเป็นหลังจากนำเข้าให้คลิกขวาที่โครงการของคุณแล้วเลือกกำหนดค่า -> แปลงเป็นโครงการ Maven (และ Maven-> อัปเดตโครงการ)

3

คุณควรทราบว่าการวางข้อมูลเมตาที่สร้างขึ้นภายใต้การควบคุมเวอร์ชัน (ปล่อยให้เป็น git หรือ scm อื่น ๆ ) ไม่ใช่ความคิดที่ดีมากหากมีนักพัฒนามากกว่าหนึ่งคนที่ทำงานกับ codebase นักพัฒนาสองคนอาจมีโครงการหรือการตั้งค่า classpath ที่แตกต่างกันโดยสิ้นเชิง โปรดทราบในกรณีที่คุณตั้งใจจะแบ่งปันรหัสในบางครั้ง ...


2

ฉันมีโครงการ maven ที่มีโมดูลย่อยสามโมดูลที่จัดการในคอมไพล์ ฉันตั้งค่าในคราสดังนี้:

  1. ฉันลงทะเบียนที่เก็บ git ด้วย eclipse โดยใช้ EGit
  2. ฉันนำเข้าโครงการเป็นโครงการ Maven ที่มีอยู่
  3. สำหรับแต่ละโครงการฉันไปTeam | แบ่งปันโครงการ

1

ฉันต้องการนำเข้าโครงการไปยัง Eclipse เป็นmavenโครงการมากกว่าgitโปรเจ็กต์ การทำเช่นนี้จะยังช่วยให้ระบบจำเนื้อหาของโปรเจ็กต์เป็นเนื้อหาคอมไพล์ได้ คุณสามารถดำเนินการคอมไพล์ต่อจาก Eclipse ดังที่คุณได้กล่าวถึงสิ่งที่ตรงกันข้ามไม่เป็นความจริง

ลักษณะของโปรเจ็กต์ใน Eclipse ไม่ได้ขึ้นอยู่กับ SCM ที่เก็บโปรเจ็กต์ แต่ขึ้นอยู่กับประเภทของโปรเจ็กต์ไม่ว่าจะเป็นสงครามหรือโอ่งเป็นต้นซึ่งจะถูกกำหนดโดยอัตโนมัติเมื่อนำเข้าโปรเจ็กต์เป็นโปรเจ็กต์มาเวน

ฉันลังเลที่จะเช็คอินกับข้อมูลเมตาเฉพาะ SCM IDE การทำเช่นนั้นถือว่ามีหลายสิ่งหลายอย่าง - นักพัฒนาทั้งหมดใช้ IDE เดียวกันหรือเวอร์ชันของ IDE ซึ่งอาจเป็นเวอร์ชันเดียวกันของ JDK / JRE ซึ่งพวกเขายังคงใช้เวอร์ชันเดิมตลอดวงจรชีวิตของโปรเจ็กต์เป็นต้น


1

คุณจะไม่สามารถนำเข้าเป็นโครงการคอมไพล์แล้ว (ถ้าคุณมีm2eclipseติดตั้ง) คลิกขวาที่โครงการที่แพคเกจ Explorer ที่ > Maven> Enable Dependency Management?


1
หากมองไม่เห็นและคุณติดตั้ง m2e แล้วให้เปิดไฟล์. project และเพิ่ม maven2 nature ด้วยตัวคุณเอง: <name> org.eclipse.m2e.core.maven2Builder </name>
dimitrisli

1

หลังจากตรวจสอบสาขาของฉันใน Egit ฉันเปลี่ยนเป็น Java View จากนั้นใช้ File -> Import, Git -> Projects จาก Git จากนั้นเลือกไดเร็กทอรี maven ระดับบนสุด นี่คือกับ Eclipse Kepler


-3

แทนที่จะสร้างข้อมูลเมตาของโปรเจ็กต์อย่างต่อเนื่องผ่านคำสั่ง import-> maven คุณสามารถสร้างข้อมูลเมตาของโปรเจ็กต์ของคุณเพียงครั้งเดียวและวางไว้ในที่เก็บ git ของคุณพร้อมกับซอร์สโค้ดที่เหลือของคุณ หลังจากนั้นการใช้คำสั่ง import-> git จะนำเข้าโปรเจ็กต์ที่เปิดใช้งาน maven ที่เหมาะสมโดยสมมติว่าคุณติดตั้งเครื่องมือ maven ไว้

ตรวจสอบให้แน่ใจว่าได้วางลงในระบบควบคุมแหล่งที่มาไฟล์ทั้งหมดในโครงการ dir ที่ขึ้นต้นด้วย "." เช่น. classpath และ. project พร้อมกับเนื้อหาทั้งหมดของไดเร็กทอรี. settings

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.