Maven хранилище наследования и переопределения - PullRequest
4 голосов
/ 15 июня 2011

У меня есть проект Maven, который был построен несколько лет назад, и теперь мне нужно сделать некоторые обновления.У одной из зависимостей моего проекта есть репозиторий Maven, указанный в его POM, который больше не существует.Теперь я получаю ошибки сборки.

Я бы подумал, что списки репозиториев в моем POM или Settings.xml превзойдут любые репозитории, перечисленные в POM зависимостей;или Maven попробует мои репозитории после неудачного подключения к потухшему репозиторию.Вместо этого он просто взрывается с ошибкой сборки.

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

Есть ли способ переопределить унаследованные списки репозитория или сказать Maven, чтобы он продолжался в случае проблемы репо?

1 Ответ

0 голосов
/ 15 июня 2011

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

Вы можете "переопределить" объявления репозитория, определив <mirror> в файле settings.xml.

См. http://maven.apache.org/settings.html#Mirrors

Я обычно настраиваю локально размещенный менеджер репозитория (предпочтительно nexus ) и затем определяю mirrorOf (*) = local-repo-manager / url.
Nexus позволяет группировать несколько репо с предопределенным порядком поиска. Репозитории Nexus могут быть локально размещены или кэшировать / прокси для публичных репо.
У меня обычно есть локально размещенное стороннее репо в передней части группы, где я могу хранить артефакты, которые не публикуются в публичных репо.

...