Импорт проекта 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. Выберите контекстное меню «Импорт ...» в представлении проводника пакетов.
  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
"легкий" относительный. Весь рынок eclipse - это беспорядок , репозитории maven - беспорядок, потому что они не отслеживают совместимость, поэтому вы получаете десятки копий почти идентичного пакета, и теперь добавление "m2e marketplace" не улучшает ситуацию .
— ВЫЙТИ - Anony-Mousse

1
@ Anony-Mousse: Я согласен с тем, что "легко" относительно. Однако я использовал это, чтобы описать свой опыт решения исходного вопроса (импорт в Eclipse из репозитория Git). Ваши претензии могут быть обоснованными, но не решаются проблемы.
— Шри Шанкаран

2
В Шаге 4 есть исправление, оно должно быть "..connector for 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.
— Брайан МакКатчон, 09

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 для 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» и выполнить либо «Клонирование из репозитория Git и добавить клон в это представление», а затем «Импорт проектов Maven» из такого клона; Самый долгий способ - выполнить клонирование вручную, а затем «Добавить существующий локальный репозиторий Git в это представление», а затем снова «Импортировать проекты Maven». В любом случае у вас есть полный контроль над клонированной папкой.

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


13

Я тестировал это для своего проекта.

  1. Эклисп Индиго
  2. «Справка> Установить новое программное обеспечение» Включите / установите официальные подключаемые модули Git в «Подключаемый модуль Eclipse Git ..» и установите их.
  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. :-(
    • Удалите эти проекты, но НЕ УДАЛЯЙТЕ ИЗ FILESYSTEM . Мы не хотим, чтобы наш клон был удален; эта задача также оставляет файл .project, чтобы мы могли импортировать его на следующем шаге.
  2. Вернитесь к перспективе Git Repository Exploring .
    • Щелкните правой кнопкой мыши свой репозиторий, Импортировать проекты ...
    • Выберите Импортировать существующие проекты.
    • В проводнике ниже найдите и выберите каталог, содержащий файл 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) - не очень хорошая идея, если над базой кода работает более одного разработчика. У двух разработчиков могут быть совершенно разные настройки проекта или пути к классам. В качестве предупреждения на случай, если вы когда-нибудь собираетесь поделиться кодом ...


2

У меня есть проект maven с тремя подмодулями, который управляется в git. Я установил их в eclipse следующим образом:

  1. Я зарегистрировал репозиторий git в eclipse с помощью EGit
  2. Я импортировал проекты как существующие проекты Maven
  3. Для каждого проекта я выбрал Команда | Поделиться проектом .

1

Я бы предпочел импортировать проекты в Eclipse как mavenпроекты, а не как проекты git. Это все равно позволит распознать содержимое проекта как содержимое git. Вы можете продолжать выполнять операции git из Eclipse. Как вы отметили, обратное неверно.

Природа проекта в Eclipse основана не на SCM, в котором находится проект, а на типе проекта - будь то война или jar и т. Д. - который определяется автоматически, когда проект импортируется как проект maven.

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


1

Разве вы не можете импортировать его как проект мерзавца , а затем (если у вас есть m2eclipse установлен) кликните правой кнопкой мыши по проекту в проводнике пакетов > Maven> Enable Dependency Management?


1
Если он не отображается и у вас установлен m2e, откройте файл .project и добавьте природу maven2 самостоятельно: <name> org.eclipse.m2e.core.maven2Builder </name>
— dimitrisli

1

После проверки моей ветки в Egit я переключился на представление Java, затем использовал File -> Import, Git -> Projects from 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.