Установка учетных данных одного сервера в Maven для нескольких хранилищ
Могу ли я иметь несколько репозиториев в настройках Maven.xml с учетными данными одного сервера?
Мы используем Maven 3.0.4 для развертывания артефактов для Nexus pro версии 2.2.1
У нас есть несколько репозиториев на одном сервере, и пользователь использует те же учетные данные для доступа ко всем этим репозиториям.
Несколько репозиториев settings.xml с одинаковыми учетными данными:
<repositories>
<repository>
<id>Staging-group</id>
<url>http://server/nexus/content/groups/Staging-group</url>
<repository>
<id>RELEASES</id>
<url>http://server/nexus/content/repositories/RELEASES</url>
</repository>
<repository>
<id>INTERNALS</id>
<url>http://server/nexus/content/repositories/INTERNALS</url>
</repository>
<repository>
<id>SNAPSHOTS</id>
<url>http://server/nexus/content/repositories/SNAPSHOTS</url>
</repository>
</repositories>
.....
<servers>
<server>
<id>Staging-group</id>
<username>user</username>
<password>password</password>
</server>
<server>
<id>RELEASES</id>
<username>user</username>
<password>password</password>
</server>
<server>
<id>SNAPSHOTS</id>
<username>user</username>
<password>password</password>
</server>
<server>
<id>INTERNALS</id>
<username>user</username>
<password>password</password>
</server>
</servers>
Nexus использует аутентификацию Active Directory. Поэтому каждый раз, когда пользователь меняет свой пароль Windows, им необходимо изменить все четыре записи в файле settings.xml
Есть ли способ объявить учетные данные один раз для всех репозиториев?
Спасибо,
Эяль
Ответы
Ответ 1
Да, по крайней мере, я считаю, что это должно сработать.
Вместо
<repository>
<id>SNAPSHOTS</id>
<url>http://server/nexus/content/repositories/SNAPSHOTS</url>
</repository>
Использование
<repository>
<id>nexus</id>
<name>SNAPSHOTS</name>
<url>http://server/nexus/content/repositories/SNAPSHOTS</url>
</repository>
Затем просто ссылайтесь на нексус как на свой идентификатор сервера.
Ответ 2
Кажется, мне не разрешают прокомментировать, потому что я недостаточно опытен. Как будто:) Однако, что касается WARNING profiles.profile[development].repositories.repository.id
, должно быть уникальным, я обнаружил, что это два найденных файла settings.xml
. Один в установке maven ${maven-install}/conf/settings.xml
, а также один в ~/.m2/settings.xml
. Определите, какой из них вы хотите, и очистите другой.
Ответ 3
Я использую Apache Maven 3.5.2 и сталкиваюсь с той же проблемой. Я пытаюсь вытащить зависимости из двух nexus-release-repository, используя одну и ту же учетную запись (имя пользователя + пароль)
Мой .m2/setting.xml
содержит:
<servers>
<server>
<id>nexus</id>
<username>username</username>
<password>password</password>
</server>
</servers>
Мой проект pom.xml
содержит:
<repositories>
<repository>
<id>nexus</id>
<url>https://DOMAIN/repository/repoA-maven-public/</url>
</repository>
<repository>
<id>nexus</id>
<url>https://DOMAIN/repository/repoB-maven-public/</url>
</repository>
</repositories>
Я использую одну и ту же учетную запись для входа в оба хранилища, но получаю maven error repositories.repository.id must be unique
. Как это можно решить