Как использовать Mercurial, Maven и Eclipse вместе?

#java #eclipse #mercurial #maven #project

#java #eclipse #mercurial #maven #проект

Вопрос:

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

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

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

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

Ответ №1:

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

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

Файл -> Создать -> Другое -> проект Maven

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

Команда -> Поделиться проектом… -> Mercurial -> (оставьте папку как есть) Готово

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

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

Создать -> Файл -> Имя файла: .hgignore и завершить

.hgignore:

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

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

  • myproject/src/main/java
  • myproject/src/main/ресурсы
  • myproject /src/test/java
  • myproject/src/test/ресурсы

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

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

Первая фиксация:

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

Команда -> Зафиксировать … -> Выбрать все и ввести сообщение о фиксации -> Готово

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

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

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

И тогда все готово.

Ответ №2:

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

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

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

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

M2Eclipse — это плагин для Eclipse, который объединяет сборки Maven. Это довольно амбициозно. Однако текущий аватар довольно новый и может быть полон сюрпризов.

Комментарии:

1. «и ты готов к работе»? Вы имеете в виду, что тогда я закончу с Maven (на некоторое время) и могу просто начать работать (извлекать, кодировать с Eclipse, фиксировать, нажимать)?