Как подключить к проекту несколько репозиториев через settings.xml?

Рейтинг: 1Ответов: 1Опубликовано: 17.05.2023

Следующий кейс: Проект настроен на один репозиторий. Нужна библиотека из другого репозитория. Как настроить проект, чтобы он искал зависимость в другом репозитории? Текущая настройка выглядит так:

<?xml version="1.0" encoding="UTF-8"?>       
<settings>
<servers>
    <server>
        <id>single_mirror</id>
        <username>username</username>
        <password>password</password>
    </server>
    <server>
        <id>Mirror of Libr</id>
        <username>username</username>
        <password>password</password>
    </server>
</servers>

<mirrors>
    <mirror>
        <id>single_mirror</id>
        <url>http://rep_url</url>
        <mirrorOf>*</mirrorOf>
    </mirror>
    <mirror>
        <id>Mirror of Libr</id>
        <name>Mirror of Libr</name>
        <url>http://rep_url</url>
        <mirrorOf>*</mirrorOf>
    </mirror>
</mirrors>

Для чего нужно зеркало и сервер Mirror of Libr - я не знаю. Его удаление за собой (вроде как) ничего не несёт. Как добавить сюда ещё одну ссылку на другой репозиторий и настроить правильно ?

ЗЫ: settings.xml как-то связан с pom.xml (разраб сказал "нет")?

Ответы

▲ 0

Чтобы добавить репозиторий в settings.xml, объявите его внутри профиля, и активируйте этот профиль:

<settings>
    ...
    <profiles>
        ...
        <profile>
            <id>myprofile</id>
            <repositories>
                <repository>
                    <id>google</id>
                    <url>https://maven.google.com</url>
                </repository>
            </repositories>
        </profile>
    </profiles>
    <activeProfiles>
        <activeProfile>myprofile</activeProfile>
    </activeProfiles>
</settings>

Больше информации про подключение нескольких репозиториев можно найти в официальном гайде.