Імпорт проекту Maven в Eclipse від Git


100

Як я можу отримати ефект від вибору імпорту з Maven та Git і чи Eclipse правильно генерувати мій проект?

Щоб отримати мій проект у Eclipse, я можу вибрати Файл-> Імпорт-> Мавен, а потім я імпортую всі проекти Maven і можу скласти штрафи, або я можу вибрати Файл-> Імпорт-> git та зробити новий проект, який ігнорує пом. .xml та не генерує проект належним чином.

Здається, я можу зробити те чи інше, але не поєднувати обох, тому я отримую правильно сформований проект.

Відповіді:


103

Eclipse Indigo + M2Eclipse 1.0 робить це дуже просто.

Якщо у вас ще немає роз'єму Git для M2Eclipse, встановіть його. M2Eclipse допоможе вам, запропонувавши в меню Імпорт.

  1. Виберіть контекстне меню "Імпорт ..." у вікні Провідника пакетів
  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.
Шрі Санкаран

1
"легкий" відносний. Весь ринок затемнення - це безлад , репортажі Maven - це безлад, тому що вони не відстежують сумісність, тому ви отримуєте десятки копій майже однакового пакету, а тепер додавання "m2e marketplace" не покращує справи .
Мав QUIT - Anonymous-Mousse

1
@ Anonymous-Mousse: Я погоджуюся, що "легко" є відносним. Однак я використав це для опису свого досвіду вирішення оригінального питання (імпортування в Eclipse з Git repo). Можливо, ваші захоплення є дійсними, але це не вирішені проблеми.
Шрі Санкаран

2
На етапі 4 є виправлення, він повинен бути ".. Connector для EGit ..". Для конкретного пошуку m2e-egit на ринку.
наноспекція

41

Я би виконував клон git через командний рядок (поза Eclipse), а потім використовував File -> Import ... -> Existing Maven Projects .

Ваші проекти будуть розумітись як використання Git та Maven. Це найшвидший і надійний спосіб імпорту IMO.


3
Так, це безумовно працює, але новіший m2 нарешті отримав гарну інтеграцію з git та svn. Як зазначали інші, EGit 1.0.0, m2e 1.0 і m2e-egit 0.13 дасть вам git -> матеріалізувати mvn проект, щоб затемнити за один крок.
thetoolman

Гм, мені довелося клацнути правою кнопкою миші на проект і використовувати "Команда> Поділитися проектом" тощо, щоб EGit визнав, що це проект Git.
Брайан МакКучон

19

Крок 1: Налаштування затемнення

Перш за все, вам потрібно буде встановити кілька плагінів 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 → Discovery → Відкрити каталог та шукайте "m2e-egit")


Крок 2: Клоніруйте сховище

Клоніруйте (завантажте) свої проекти Maven від Git

Ознайомтеся з проектами Maven без затемнення від Git (Файл → Імпорт .. → Maven → Ознайомтеся з проектами Maven від SCM)

Файл → Імпорт .. → Maven → Ознайомтеся з проектами Maven від SCM

Тепер додайте посилання вашого сховища git до поля URI SCM. Потім натисніть кнопку Далі та закінчіть.


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 Git Repository and add the clone to this view", а потім "Import Maven Projects" з такого клону; найдовшим способом було б зробити клонування вручну, а потім "Додати існуючий локальний репозиторій Git до цього подання", після чого знову "Імпортувати проекти Maven". У будь-якому випадку ви маєте повний контроль над клонованою папкою.

Остаточний коментар до побічного питання, який змусив мене розчаруватися. Наскільки я знаю, якщо клонований репозиторій лежить у корені робочої області Eclipse, а у вашої ієрархії файлів проекту Maven є POM у корені, то імпорт такого кореневого проекту перейменовує клоновану папку (з обраним вами шаблоном за замовчуванням до [artifactId]). Не змінюючи структуру проекту та не зберігаючи файли за межами робочої області, ви можете легко обійти цю проблему, клонувавши в підпапку папки робочої області.


13

Я тестував це для свого проекту.

  1. Екліспе Індіго
  2. "Довідка> Встановити нове програмне забезпечення" Увімкнути / встановити офіційні плагіни Git у "Eclipse Git Plugin .." та встановити лот.
  3. Увімкніть роз'єм Maven / EGit за допомогою цих інструкцій. Як отримати інтеграцію git, працюючи з m2eclipse?
  4. Перейдіть до точки зору сховища Git. Клацніть правою кнопкою миші вставте URL-адресу git проекту. Усі параметри за замовчуванням повинні працювати. Ви можете змінити інсталяційну папку, яку він здогадується.
  5. Розгорніть клонований сховище і клацніть правою кнопкою миші «Робоче дерево» та виберіть «Імпортувати проекти Maven ...».
  6. Переключіться на перспективу Java. Клацніть правою кнопкою миші на проект та виберіть "Команда> Поділитися проектом". Виберіть "Git" і обов'язково поставте галочку "Використовувати або створювати сховище в батьківській папці проекту".

1
Так, я зробив те саме. Не відмовляйтеся, чому m2e-egit не робить крок 6. автоматично.
xmedeko

6

Ось мій спосіб вирішення цих питань:

  • Ви не можете встановити m2e-egit (я отримую помилку в Juno)
  • Перетворення загального проекту (підключеного до вашого сховища Git) в проект Maven не працює для вас (крок "Імпорт проектів Maven" здається важливим)
  • Імпорт проектів Maven із вашого сховища у файлову систему не відображає проект, підключений до Git.

  1. Налаштуйте своє сховище Git у перспективі Git Repository Exploring .
    • Переключіться на перспективу Java, Імпорт> Існуючі проекти Maven
    • Перейдіть до своєї служби Git у файловій системі, виберіть каталог, що містить файл pom.xml. Завершити імпорт; ви помітите, що ці проекти не підключені до Git. :-(
    • Видаліть ці проекти, але НЕ ВИДАЛУЙТЕ З ФАЙЛИСТИМИ . Ми не хочемо, щоб наш клон був видалений; це завдання також залишає .project файл позаду, щоб ми могли імпортувати на наступному кроці.
  2. Поверніться до точки зору репозиторію Git Exploring .
    • Клацніть правою кнопкою миші ваше сховище, Імпорт проектів ...
    • Виберіть Імпорт існуючих проектів
    • У досліднику нижче перейдіть до та виберіть каталог, що містить pom.xml (та .project файл), а потім натисніть кнопку Далі.
    • Продовжуйте майстер.

У Eclipse Luna він працював після кроку 1.2 (проект був підключений до Git після першого імпорту).
PJ_Finnegan

4

Імпортуйте, не встановлюючи додаткових роз'ємів для Mylyn:

  1. Відкритий Git Repositoriesвигляд (Вікно-> Показати перегляд-> Git Repositories)
  2. Натисніть Clone a Git Repositoryкнопку і продовжте всі кроки
  3. У новоствореному сховищі розгорніть Working Directoryправою кнопкою миші папку з вашим проектом та виберіть Import Projects. Потім або виберіть Import existing projects, або виберіть Import as general project. Якщо потрібно після імпорту, клацніть правою кнопкою миші на вашому проекті та виберіть Налаштувати-> Перетворити на проект Maven (та Maven-> Оновити проект).

3

Слід зазначити, що ставити згенеровані метадані під контроль версій (нехай це буде git чи будь-яка інша scm) - це не дуже гарна ідея, якщо над кодовою базою працює більше одного розробника. У двох розробників може бути абсолютно різна установка проекту або класу. Так само, як наголосити на випадок, якщо ви збираєтесь поділитися кодом на деякий час ...


2

У мене є проект Maven з трьома підмодулями, який управляється в git. Я встановлюю їх у затемнення так:

  1. Я зареєстрував сховище git eclipse за допомогою EGit
  2. Я імпортував проекти як існуючі проекти Maven
  3. Для кожного проекту я поїхав Команда | Поділитися проектом .

1

Я вважаю за краще імпортувати проекти в Eclipse як mavenпроекти, а не як проекти git. Це все ще дозволить розпізнати вміст проекту як вміст git. Ви можете продовжувати виконувати операції git від Eclipse. Як ви вже згадували, зворотне не відповідає дійсності.

Характер проекту в Eclipse не ґрунтується на СКМ, який утримує проект, а на типі проекту - чи то війні, чи яру тощо, - який автоматично визначається, коли проект імпортується як проект Maven.

Я б не вагався, щоб зареєструватися в метаданих, характерних для SCM IDE. Це передбачає багато речей - усі розробники використовують одну і ту ж IDE або версію IDE, можливо, таку ж версію JDK / JRE, що вони продовжують використовувати одну і ту ж версію протягом усього життєвого циклу проекту тощо.


1

Хіба ви не можете імпортувати його як проект мерзотника , а потім (якщо у вас є m2eclipse встановлений) правою кнопкою миші по проекту в провіднику пакетів > Maven> Enable Dependency Management?


1
Якщо не видно, і у вас встановлено m2e, відкрийте файл .project і додайте природу maven2 самостійно: <ім'я> org.eclipse.m2e.core.maven2Builder </name>
dimitrisli

1

Після перевірки моєї гілки в Egit я перейшов до Java View, потім застосував Файл -> Імпорт, Git -> Проекти з Git, а потім вибрав каталог Maven верхнього рівня. Це було з Eclipse Kepler.


-3

Замість того, щоб постійно генерувати метадані проекту за допомогою команди import-> maven, ви можете генерувати метадані свого проекту один раз і помістити їх у своє сховище git разом із рештою вихідного коду. Після цього, використовуючи import-> git команда імпортує належний проект з підтримкою maven, якщо вважати, що у вас встановлені інструменти maven.

Не забудьте помістити в систему керування джерелами всі файли в редакторі проекту, які починаються з '.' наприклад, .classpath та .project разом із усім вмістом каталогу .settings.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.