#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, фиксировать, нажимать)?