Как использовать Mercurial, Maven и Eclipse вместе? - PullRequest
6 голосов
/ 15 апреля 2011

В настоящее время я работаю над проектом Java в команде из 5 коллег из университета.Фактически, мы завершим фазу планирования в течение следующих нескольких дней, а затем приступим к реализации.

Для проекта мы должны использовать Mercurial (через Bitbucket.org) и Apache Maven.Мы хотели бы использовать Eclipse в качестве IDE.Я знаю, как использовать Mercurial, и я прочитал несколько статей и руководств о Maven.Я не понимаю, как мы должны использовать эти инструменты для совместной работы.

Что следует поместить в хранилище?Весь проект Eclipse?Или только исходные файлы и Maven's pom.xml?Если последнее, как будет выглядеть рабочая сессия?Извлеките файлы, создайте проект Eclipse с помощью mvn eclipse: eclipse, закодируйте время и передайте / отправьте их в репозиторий?

Я отвечаю за создание структуры проекта, поэтому мои коллеги - и я тоже - можемначать развиваться.Но я действительно не знаю, как начать сейчас.Если бы использование Maven не было обязательным, я бы просто поместил проект Eclipse в репозиторий.Но, пользуясь им, я совершенно запутался, как будто влияет на все.

Ответы [ 2 ]

8 голосов
/ 15 апреля 2011

Я использую аналогичную настройку, за исключением того, что я использую Dropbox для своего репозитория (всего два разработчика).Просто следуйте этим шагам, с m2eclipse (сайт обновления: http://m2eclipse.sonatype.org/sites/m2e) и MercurialEclipse (сайт обновления: http://cbes.javaforge.com/update) плагин, который вы можете делать все в eclipse.

Создание проекта maven:

Файл -> Новый -> Другие -> Проект Maven

В обозревателе проектов щелкните правой кнопкой мыши новый созданный проект.проект maven

Team -> Share Project ... -> Mercurial -> (оставьте папку как есть) Finish

Затем создайте файл .hgignore вкорень проекта:

В Project Explorer щелкните правой кнопкой мыши новый созданный проект Maven

Создать -> Файл -> Имя файла: .hgignore and Finish

.hgignore:

syntax: regexp
target      # maven output
\.classpath # eclipse
\.project   # eclipse
\.settings  # eclipse
test-output # eclipse junit/testng plugin output

Затем вы можете сделать свой первый коммит, но будьте осторожны, hg не хранит пустые папки в своем репозитории, поэтому чтобы сохранить структуру папок maven без исходного кода, вы должныпоместите (пустой) файл в каждую пустую папку, для простого проекта maven без каких-либо источников он был бы вolders:

  • myproject / src / main / java
  • myproject / src / main / resources
  • myproject / src / test / java
  • myproject / src / test / resources

Например, я поместил файл с именем .empty в него с содержанием «это файл-заполнитель, удалите, если другие файлы находятся в этой папке»

Если некоторые из этих папок отсутствуют, ваши коллеги увидят ошибки в Eclipse, если они импортируют ваш проект.

Первый коммит:

В Project Explorer щелкните правой кнопкой мыши на новом созданном проекте Maven.

Team -> Commit ... -> Выбрать все и ввести сообщение фиксации -> Finish

Теперь вы можете клонировать его в bitbucket (у меня нетопыт работы с bitbucket).

Скажите вашим коллегам установить два плагина eclipse, чтобы они могли получить репозиторий через

Файл -> Новый -> Другие -> Проверить проект Mavenиз SCM -> введите URL вашего репо -> Готово

И тогда вы готовы идти.

2 голосов
/ 15 апреля 2011

Вот альтернативы, основанные на методах ASF (хотя мы не используем Mercurial).

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

Затем рассмотрим две альтернативы: maven-eclipse-plugin и M2eclipse .

Плагин maven-eclipse-является плагином maven. Вы запускаете его из командной строки, и он генерирует .project и .classpath и некоторые из .settings. В настоящее время над ним не ведется работа, но он достаточно стабилен и функционален во многих распространенных случаях. Затем вы импортируете «существующий проект Eclipse», и все готово.

M2Eclipse - это плагин Eclipse , который интегрирует сборки Maven. Это довольно амбициозно. Тем не менее, его нынешний аватар совершенно новый и может быть полон сюрпризов.

...