Почему документы Sonatype предлагают переопределить центральное хранилище с помощью фиктивного URL-адреса в файле settings.xml при использовании mirrorOf? - PullRequest
3 голосов
/ 01 сентября 2011

В соответствии с документацией Maven :

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

Для этого установите для mirrorOf значение *.

This StackOverflowвопрос также предполагает, что установки mirrorOf достаточно для блокировки внешнего репозитория, так почему же документация Sonatype предполагает перегрузку central недоступным URL-адресом?

Ответы [ 3 ]

4 голосов
/ 01 сентября 2011

Фальшивый URL действительно не имеет значения - вы можете установить его на исходный, если вам нужно, или URL вашего менеджера хранилища - если применимо mirrorOf, оно не будет использоваться.

Причина, по которой эти примеры переопределяют central, заключается в установке политик для запросов артефактов в репозитории по умолчанию.По умолчанию Maven не включает запросы моментальных снимков для централизованного управления и использует политики обновления и контрольной суммы по умолчанию.Повторное выделение central позволяет их переопределить - в этом случае включить артефакты и плагины моментальных снимков, а затем зеркало перенаправит их все в менеджер хранилища.Это избавляет от необходимости объявлять репозитории в вашем POM (при условии, что у всех пользователей правильные настройки).

2 голосов
/ 07 сентября 2011

Я написал это, чтобы я мог сказать вам, о чем я думал; -)

Необходимо обновить определение центрального репозитория, чтобы включить получение снимка по крайней мере для одного репо, в противном случае Maven даже не спроситменеджер репозитория (на который указывает mirrorOf) для любых снимков.

Хотя это и не требуется, я хотел бы также изменить определение URL-адреса на недействительное, чтобы в случае неправильной конфигурации где-то еще в системе сразу становилось очевидным, что происходит.В противном случае Maven может все еще обратиться к Центральному и замаскировать проблемы.По сути, это установка без сбоев.

Более подробная информация по этой теме есть в старом блоге, который я написал

0 голосов
/ 01 сентября 2011

maven нужен проект dependencies, чтобы быть доступным локально для его запуска.Он не заботится о том, как он становится доступным - установлен ли вручную (с использованием mvn install:install-file), через mirror или из central хранилища. не сможет работать , если не сможет найти зависимости.

Документация sonatype, на которую вы ссылаетесь, использует nexus - mirror/proxy repositories. url указанный должен быть действительным nexus url и не может быть недоступным.

То же самое предлагается и в вопросе SO.

...