Создание / доступ к репозиторию Maven в SVN через NetBeans 6.7 * Исправлено * - PullRequest
6 голосов
/ 18 сентября 2009

РЕДАКТИРОВАТЬ : Хорошо ... поэтому я понял, что SVN на самом деле не должен использоваться для этого ... это имеет смысл, я полагаю (почему версия отдельных файлов, когда версия должна быть отдельная банка?).

Таким образом, мы должны использовать внутренний сервер для размещения инструмента управления хранилищем, такого как Nexus (и т. Д.), И обращаться к нему через http, чтобы раскрыть и вывести зависимости. Мы сейчас держим наши проекты в SVN. Какой стандарт для развертываний? Зависимости уходят в Maven. Проекты идут в SVN. Должны ли мы игнорировать папки dist и build? Откуда будут развернуты наши WAR-файлы?

СТАРЫЙ ВОПРОС (для потомков)

Я новичок в Maven и не знаю jack об этом. Я пытаюсь оценить это, чтобы увидеть, как это будет с нашей разработкой Java.

Я хотел бы иметь репозиторий Maven на нашем сервере SVN, чтобы можно было удалять зависимости оттуда с помощью NetBeans 6.7. Я не смог найти, как это сделать, во многих поисках Google и StackOverflow.

Каковы лучшие практики здесь? Я думаю, что мы хотели бы загрузить зависимости, используя svn + ssh, но большинство вещей в Интернете, похоже, указывают на использование http.

Наполните мой мозг замечательными вещами!


Ответы [ 2 ]

5 голосов
/ 18 сентября 2009

Я настоятельно рекомендую не делать этого. Maven артефакты не принадлежат серверу SCM. Вам следует рассмотреть возможность использования менеджера хранилища, например Nexus , для хранения ваших артефактов. Смотрите здесь для сравнения основных менеджеров репозитория .

Сказав это. Если вы решили использовать Subversion для размещения своих артефактов. См. Этот вопрос об использовании wagon scm для развертывания в хранилище Subversion.

Если вы хотите узнать больше о Maven, ознакомьтесь с Maven: полное руководство .

Существует плагин Maven для Netbeans, который будет управлять зависимостями. В этой статье перечислены лучшие практики для Maven и Netbeans.


Обновление на основе вашего обновленного вопроса. Что делать с собственными баночками:

Maven имеет фазу развертывания , которая опубликует ваши артефакты в удаленном хранилище. Вам необходимо настроить раздел distributionManagement в pom и указать соответствующие учетные данные в файле settings.xml, чтобы обеспечить возможность развертывания. Обычно вы устанавливаете дискретный логический репозиторий на сервере для своих собственных артефактов, чтобы сохранить их изолированными от сторонних артефактов. Книга Nexus дает хорошее руководство по настройке репозиториев в Nexus. В частности, см. Принятие менеджера репозитория .

Если вы правильно настроили свой проект, запустите mvn deploy и все фазы, вплоть до фазы развертывания, будут запущены, и ваш артефакт будет опубликован в хранилище, доступном для использования остальной частью вашей команды / компании.

Если вам нужно ограничить доступ к репозиториям, вы можете настроить контроль доступа к вашему репозиторию, чтобы только аутентифицированные пользователи могли получить доступ к этим артефактам (для Nexus см. Раздел Управление безопасностью в книге). 1039 *

Стоит отметить, что с Artifactory или Archiva вы можете делать в основном те же самые вещи (более или менее), что и Nexus, я включил ссылки на Nexus, потому что я предпочитаю это, и документация действительно хорошая.

1 голос
/ 18 сентября 2009

Не храните их в SVN.

Я бы сделал две вещи, чтобы убедиться, что у вас не слишком много головной боли:

  1. Зеркально отразите хранилище ближе к вашей коробке, где вы и ваши коллеги можете поделиться. Это исключит дополнительную загрузку и позволит вам исправить любые проблемы, которые могут возникнуть (и они будут возникать) с зеркальными файлами pom / jar, так что ваши товарищи не должны разделять головной боли Есть несколько менеджеров репо, которые помогают с этим.
  2. Делайте все возможное, чтобы работать с репозиторием вашей машины, и вносить изменения / модификации в любые файлы pom, которые вы можете вносить в локальный общий репозиторий.
...