2013-01-31 10 views
6

Есть ли способ избежать загрузки разработчиками всех зависимостей и привязки этих зависимостей к общей локации для всех разработчиков, и каждый разработчик, работающий над проектом, указывает на это место?Shared Maven Repository для разработчиков

Может ли кто-нибудь объяснить образцы файлов и пример?

+0

Вы можете указать локальный репозиторий с параметром '-Dmaven.repo.local' или добавить' ... 'в свой' settings.xml'. Однако, как указано другими комментариями, это местоположение не является безопасным для параллелизма и * следует избегать *. – luka5z

ответ

2

Вы можете изменить локальный репозиторий, как это:

The location of your local repository can be changed in your user configuration. The default value is ${user.home}/.m2/repository/. 

<settings> 
    ... 
    <localRepository>/path/to/local/repo/</localRepository> 
    ... 
</settings> 

look this article

Я думаю, что если вы сделаете общую папку и все другие разработчики пишут путь к этой папке, это может помочь (но я этого не сделал. попробовать это)

UPDATE

Используя общий репозиторий это плохая идея. Совместное использование локального хранилища между двумя или несколькими пользователями не является потокобезопасным и может привести к различным ошибкам.
Так как многие упомянутые здесь используют Artifactory

+2

Кэш локального хранилища не является одновременно безопасным. Если два девелопера будут делиться одним и тем же, они в конечном итоге столкнутся с коррупцией. –

+0

вопрос был «это в любом случае», и мой ответ был каким-то образом, что он сделал это. но почему вы даете мне минус. Я говорю, что этого не делал. –

+2

Вы должны указать * почему * это плохая идея. Когда вы расскажете кому-нибудь, как закопать пистолет с безопасностью и пулей в камере, вы должны предупредить их о рисках для их ног! –

9

Лучше всего пойти с одним из менеджеров хранилища для maven. Основные этапы настройки: - Установка центрального репозитория на внутренней машине - Настройка центрального репозитория для прокси-сервера для репозиториев, необходимых для ваших разработчиков. - Измените настройки maven для разработчиков, чтобы использовать внутренний репозиторий maven как зеркало для все (см here подробности)

Есть 3 известных менеджеров хранилища доступны:

Я любимая Artifactory - установка и настройка заняла менее часа. Теперь, если разработчик добавляет новую зависимость в проект maven, артефакт будет загружен из исходного удаленного репозитория во внутренний репозиторий и станет доступным. Когда следующий разработчик нуждается в архиве, он будет загружен из внутреннего репозитория - доступ будет намного быстрее.

0

Я понимаю, чего вы хотите, но я уверен, что это не очень хорошая идея. Потому что позже conflit произойдет, как только 2 разработчика начнут работать сразу же в одном проекте

0

Maven - это разрешение и обновление зависимостей. У вас всегда будет локальный экземпляр вашего репо. Вы можете настроить локальный репозиторий и другие профили в файле settings.xml в своей папке .m2.

Например местный репо выглядит

<localRepository>C:/dev/.m2/repository</localRepository>

Это, вероятно, также решает общие файловые системы. Вы можете также добавить внутренний репозиторий для собственных Maven артефактов на Обменник в

<repository> 
    <id>internal.releases.upload</id> 
    <name>Internal repo</name> 
     <url>file:////data/repo</url> 
</repository> 

, например. Подробнее о хранилищах здесь http://maven.apache.org/guides/introduction/introduction-to-repositories.html

Смежные вопросы