Когда запустить мой собственный репозиторий Maven? - PullRequest
5 голосов
/ 11 августа 2011

Я работаю над небольшим проектом с одним другим разработчиком. Мы используем библиотеки, которые доступны в общедоступных репозиториях Maven. У нас есть один многомодульный проект maven, но мы каждый раз собираем все модули на нашем сервере сборки и машинах разработчика. Встроенные артефакты доступны для развертывания на сервере сборки.

Есть ли какая-то причина для нас, чтобы настроить менеджер репозитория maven? Он будет работать на машине сборки, к которой мне нужно будет подключиться через VPN, и будет медленнее, чем загрузка напрямую из Интернета.

Ответы [ 4 ]

5 голосов
/ 11 августа 2011

Лучшая причина для запуска менеджера репо - добиться надежного поведения перед лицом обращения maven к декларациям.

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

Единственное лекарство от этого - настроить менеджер репозитория и объявить его «mirrorOf» * * в settings.xml. Затем поместите необходимые правила в менеджере хранилища, чтобы искать только те места, которые вы хотите найти.

Конечно, если вас несколько, и вы хотите поделиться снимками или релизами, вам действительно нужен менеджер репо. Это очевидная причина.

Если я выключу свой менеджер репо и просто попытаюсь создать некоторые из моих проектов, которым не повезло, иметь плагины / зависимости с объявлениями репозитория в их poms, они потерпят неудачу. С менеджером репо все хорошо.

2 голосов
/ 11 августа 2011

Если вам нужно спросить, вероятно, нет.
Но это довольно дешевое свидание - Nexus довольно прост в настройке, я не знаю об архиве.

Общедоступные серверы, как правило, ненадежны. Локальное зеркало будет быстрее. Вы не хотите зацикливаться, потому что вы очистили свое локальное репо и не можете получить что-то от публичного репо.

Если и когда вам понадобится работать с несколькими версиями вашего приложения, я начну думать об этом сложнее.

0 голосов
/ 11 августа 2011

Мой ответ таков: вам нужно будет создать собственный репозиторий, как только вам понадобится jar, которого нет в общедоступных репозиториях (это не так сложно, поскольку, например, некоторые драйверы JDBC не размещаются в публичных репозиториях вопросы лицензирования). Если вы этого не сделаете, вы потеряете главное преимущество Maven в том, что вашим коллегам не нужно ничего делать, чтобы получить нужные библиотеки. Если вы представляете новую библиотеку, вам не нужно ничего говорить коллегам, если у вас есть репозиторий компании, но если нет, вам нужно отправить библиотеку для них, и вы должны сказать им, как установить библиотеку локально.

0 голосов
/ 11 августа 2011

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

...