Использовать выделенный сервер репозитория
Согласно внутренним репозиториям Maven
документацию, я мог бы создать
сервер репозитория куда то и положил
двоичные файлы, которые все
тогда разработчики получат доступ.
Точно. Настройте сервер репозитория maven с несколькими репозиториями, например, это:
internal-releases
internal-snapshots
external-opensource
external-closedsource
(вот где идет речь о том, о чем мы говорим)
Но это означает, что у меня есть новый сервер для
поддерживать (или хотя бы новый сайт на
существующий сервер). Это также означает, что у меня есть
беспокоиться о разрешениях, чтобы гарантировать, что
внешние стороны не могут получить доступ к хранилищу.
Да, но компания, которая занимается серьезной разработкой программного обеспечения, должна иметь подобную инфраструктуру. Но если ваша компания серьезно относится к использованию Maven, вероятно, должна быть специальная должность для управления конфигурацией, и этот человек должен администрировать этот сервер.
Это также означает, что мне нужно беспокоиться о
резервные копии и доступность теперь так, чтобы
разработчики не сталкиваются с икотой, если
хранилище недоступно.
Стандартные серверы репозитория (например, Sonatype Nexus ) очень надежны. Если он зависнет, просто перезапустите сервер приложений / контейнер сервлетов, на котором он запущен. Кроме того, как только разработчики загрузили библиотеку из хранилища, она остается в локальном хранилище, поэтому даже если хранилище не работает, проблем не должно быть (но вы не можете ссылаться на новую зависимость, когда сервер не работает) .
Используйте существующий SCM в качестве репозитория maven
ОК, если вы действительно хотите использовать SCM в качестве репозитория Maven, вот как это сделать:
http://maven -svn-wagon.googlecode.com / СВН / сайт / index.html
В этой статье описывается настройка хранилища maven на основе SVN для вашего собственного проекта. Но если вы хотите развернуть стороннее хранилище в репозитории, просто создайте pom с конфигурацией, упомянутой здесь, и используйте этот pom для deploy: deploy-file вашей библиотеки.
(Существуют и другие реализации wagon / scm, и конфигурация немного отличается, но решение остается тем же: создайте pom в соответствии с используемой реализацией wagon, а затем выполните deploy:deploy-file
(см. Дополнительную информацию по страница использования )