Maven - указывает на * один * репозиторий - PullRequest
1 голос
/ 11 ноября 2011

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

Согласно документации Nexus , чтобы решить эту проблему, я должен изменить свой локальный файл .m2 / settings.xml.

Изменение моего файла settings.xml для решения этой проблемы не является хорошей практикой, поскольку оно не переносимо на разные машины разработчика / серверы конфигурации.

Что я хочу сделать, так это изменить свой глобальный родительский pom на «использовать этот и только этот репозиторий для всех проектов, которые используют меня в качестве родителя». Как я могу это сделать? Я вижу, что я могу добавить свой репозиторий как один из проверенных репозиториев, но не в only репозиторий. Я попытался вырезать и вставить раздел «зеркало» файла настроек в мой pom, но «зеркало» там не разрешено.

Есть идеи?

Спасибо, Рой

Ответы [ 3 ]

1 голос
/ 12 ноября 2011

Tweak Nexus: инструкции по изменению вашего $ HOME / .m2 / settings.xml. Иметь сетевой файл настроек, который ссылается на Nexus. Этот файл настроек должен использоваться всеми разработчиками (и вашим CI-сервером).

Как все разработчики ссылаются на этот файл настроек?

Есть несколько способов снять шкуру с этой кошки.

Вариант 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 голос
/ 11 ноября 2011

Предполагая, что у вас есть "стандартная" установка Maven для всех разработчиков, вы можете изменить $M2_HOME/conf/settings.xml

В противном случае вам не повезло с чем-то, кроме интеллектуального сетевого прокси.

0 голосов
/ 13 ноября 2011

Вы пытались настроить элемент <repositories> в вашем pom?

<project>
  ...
    <repositories>
      <repository>
        <id>my-internal-site</id>
        <url>http://myserver/repo</url>
      </repository>
    </repositories>
  ...
</project>

Дополнительную информацию и подробности можно найти на странице Внутренние репозитории Maven .

...