#maven #nexus
#maven #nexus
Вопрос:
У меня есть репозиторий Nexus Maven, который я хочу сделать единственным репозиторием, используемым моими проектами.
Согласно документации Nexus, чтобы решить эту проблему, я должен изменить свой локальный .m2/settings.xml .
Изменение моего settings.xml решение этой проблемы не является хорошей практикой, поскольку она не переносима на разные компьютеры разработчиков / серверы CI.
Что я хочу сделать, так это изменить мой глобальный родительский pom, чтобы сказать «используйте этот и только этот репозиторий для всех проектов, которые используют меня в качестве родителя». Как я могу это сделать? Я вижу, что могу добавить свой репозиторий в качестве одного из проверяемых репозиториев, но не единственного репозитория. Я попытался вырезать и вставить раздел ‘mirror’ файла настроек в мой pom, но ‘mirror’ там не разрешен.
Есть идеи?
Спасибо, Рой
Ответ №1:
Измените инструкции Nexus по изменению вашего $HOME/.m2/settings.xml . Есть файл сетевых настроек, который ссылается на Nexus. Этот файл настроек должен использоваться всеми разработчиками (и вашим сервером CI).
Как все разработчики ссылаются на этот файл настроек?
Есть несколько способов очистить этот cat.
Вариант 1: псевдоним вашей команды Maven.
В UNIX: alias mvn=mvn -s /networked/path/to/settings.xml
В Windows: Откройте mvn.bat. Найдите вызов mvn и измените его аналогичным образом
Вариант 2: Главная страница / настройки, связанные с сетевым местоположением
В UNIX: cd $HOME; rm settings.xml;ln -s /networked/path/to/settings.xml settings.xml
В Windows: я не знаю эквивалентного foo для символического связывания
Комментарии:
1. Спасибо Sri, думаю, это лучший вариант
Ответ №2:
Предполагая, что у вас установлена «стандартная» установка Maven для всех разработчиков, вы можете изменить $M2_HOME/conf/settings.xml
В противном случае вам не повезло ни с чем, кроме интеллектуального сетевого прокси.
Ответ №3:
Вы пытались настроить <repositories>
элемент в вашем pom?
<project>
...
<repositories>
<repository>
<id>my-internal-site</id>
<url>http://myserver/repo</url>
</repository>
</repositories>
...
</project>
Более подробную информацию можно найти на странице внутренних репозиториев Maven.
Комментарии:
1. Unf. это только добавляет репозиторий, это не делает его единственным доступным репозиторием.