Я нашел в Интернете много информации о модных настройках maven, но, поскольку Maven новичок, это не совсем понятно на уровне «привет, мир».
Цель: создать единый простой проект Maven из Eclipse и зарегистрировать его в нашем репозитории Subversion. Отметьте правильные файлы и не включайте вещи, которые не следует регистрировать. Шаг 2 - получить вторую рабочую станцию Eclipse, также работающую над тем же проектом.
Предостережения: Да, я относительно новичок в Maven. И не-maven загрузка между Eclipse и SVN не всегда на 100% ясна для меня.
Система:
- OS X Snow Leopard с Java 1.6 по умолчанию
- Eclipse 3.6 и недавно установленные плагины
- Subclipse и версия SVN Collab.net - рабочие
- m2eclipse, также работает
- Командная строка mvn работает, локальный репозиторий, можно создавать проекты
- Репозиторий Subversion через https
Я не буду утомлять вас всеми своими фальстартами, но это краткое изложение текущего состояния:
- Создал проект на нашем сервере SVN с URL-адресом вида https://foo.com/svn/PROJECTONE/trunk
- Создайте проект Maven из Eclipse с помощью m2eclipse вместо борьбы с инструментом командной строки (по крайней мере, во время обучения)
- Начните с пустой рабочей области Eclipse и примите расположение по умолчанию для нового проекта.
- Мастер создания нового проекта, проект maven, используя maven-archtype-quckstart, назовите его ProjectOne
- В редакторе POM введите URL-адрес SCM с URL-адресом Subversion выше, https://foo.com/svn/PROJECTONE/trunk
- Измените программу Maven по умолчанию App.java, измените строку Hello World, убедитесь, что она работает
Вот некоторые вещи, которые я считаю странными: (очевидно, я что-то неправильно понимаю)
- В редакторе POM, теперь, когда я заполнил URL-адрес SCM своего репозитория SVN, я ожидал, что он предложит проверить мой код. Нет предложений, и я не заметил никаких дополнительных опций. Вопрос: В чем тогда смысл этого поля? Учитывая концепцию maven, ориентированную на задачи, и то, что он спрашивает о моем URL-адресе, не будет ли синхронизация файлов частью этого?
- Я решил сделать это вручную, щелкнул правой кнопкой мыши по проекту и в разделе «Команда» сообщил ему об URL-адресе SVN, он предупреждает, что каталог уже существует, я говорю «ОК», и теперь каталоги связаны.
- Затем я запускаю процесс регистрации и замечаю, что Subclipse предлагает некоторые файлы в .settings. Разумеется, двоичные файлы рабочей области Ecliipse не следует регистрировать, и похоже, что один из плагинов решил не включать каталог сборки (?), Но не уверен в этих файлах. Вопрос: В какой степени Maven обновляет свойства svn: ignore, если таковые имеются? Или Subclipse обновляет svn: ignore на основе настроек проекта Eclipse, поскольку он знает и то, и другое?
Основные вопросы:
- Что было бы «лучшей практикой» для начальной загрузки одного нового проекта Maven в Eclipse и Subversion? Какие задачи идут в первую очередь?
- Что было бы «лучшей практикой» для переноса этого проекта на вторую рабочую станцию Eclipse, предполагая, что там есть все плагины?
- Какие плагины (m2eclipse, subclipse и т. Д.) Обновляют svn: ignore?
- Когда редактор POM спрашивает об URL-адресе SCM, для чего он использует эту информацию?
- Должен ли я включать «ствол» в этот URL-адрес SCM?
- Следует ли включать название проекта в URL-адрес SCM?
- Должен ли я сначала создать каталог проекта в репозитории? Или я должен был позволить одному из плагинов создать его?
- Распознают ли m2eclipse и subclipse друг друга? Или, что более вероятно, основные системы maven и subversion знают что-нибудь друг о друге? Например, знает ли maven о svn: ignore? Я бы не ожидал, что Subversion много знает о maven, это кажется неправильным направлением.
Извиняюсь за длинный пост, но все они в некоторой степени связаны и, возможно, дают лучший контекст о том, что может думать новый пользователь maven.