Прокси все Maven-репозитории зависимостей через внутренний Nexus - PullRequest
5 голосов
/ 14 ноября 2011

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

Я хочу создать стабильную среду сборки и хочу, чтобы моя локальная установка Nexus была прокси все требования проекта, так что я могу воспроизвести сборки, не выходя в интернет после того, как все настроил один раз.

Т.е. мой .m2/settings.xml будет содержать:

<mirrors>
    <mirror>
        <id>my.public</id>
        <url>http://localhost:8081/nexus/content/groups/public</url>
        <mirrorOf>*</mirrorOf>
    </mirror>
</mirrors>

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

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

В моем случае это 15 или 20 удаленных репозиториев.Большинство из них - дальнейшая зависимость от моих пакетов, то есть не очевидно, что они мне нужны, пока я не запустил сборку maven и не нажал на них .До сих пор я обнаружил, что на них в основном ссылаются в родительских POM.

Мой вопрос: есть ли способ как-то настроить Nexus, чтобы мне не нужно было добавлять каждый репозиторий вручную?

Когда я перечитываю свой вопрос, почти звучит, что я хочу настоящий HTTP-прокси, но какой тогда смысл в Nexus?Конечно, это риторический вопрос, но как мне решить эту проблему, не добавляя их все вручную?

Все, что я нашел в документации Nexus, это http://www.sonatype.com/books/nexus-book/reference/config-sect-custom.html:

...Вы можете столкнуться с проектами, которые не могут получить артефакты из вашей локальной установки Nexus

и

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

1 Ответ

2 голосов
/ 01 февраля 2012

Не то, чтобы я знал. По этой причине у нас в настоящее время есть 30-40 репозиториев, отраженных через нашу установку Nexus. Мы используем аналогичное зеркальное выражение в settings.xml, чтобы заставить всех использовать наше репо в качестве единого окна. Однако мы обязуемся (посредством политики), чтобы разработчики не добавляли репозитории в файлы pom в проектах. Вместо этого они отправляют запрос на добавление прокси.

...