Почему Maven настаивает на загрузке из репозитория repo1.maven? - PullRequest
1 голос
/ 11 сентября 2011

Я добавил приватное репо в мой pom-файл, поэтому maven должен только загружать из него файлы, и если не найдена зависимость от него, должна произойти ошибка сборки, верно?но что случается, что иногда я вижу, что maven загружается из repo1.maven, не зная почему?Я искал в файле pom об этом URL, но не смог найти его?пожалуйста, объясните мне, почему или когда он загружается из repo1.maven, потому что я хочу заставить его загружать только из этого частного репо.Я использую Maven 2.

Ответы [ 2 ]

3 голосов
/ 12 сентября 2011

Хранилище определено в «Super POM» , от которого наследуются все проекты Maven.

Если вы хотите избежать его использования, у вас есть две альтернативы:

  1. Определите repository и pluginRepository в вашем POM с id из central. Это заменит супер POM с новым местоположением. В новом месте по-прежнему должны содержаться плагины и артефакты, необходимые Maven, которые обычно передаются из центрального репозитория.
  2. Определите mirror в файле settings.xml, который имеет значение mirrorOf либо central, либо * (которое отражает любой определенный репозиторий в одном месте). Обычно это используется для перенаправления запросов в менеджер репозитория, специфичный для вашей среды, без изменения общих настроек проекта для других пользователей.

Если вы ищете более детальный контроль, подумайте о настройке менеджера хранилища, такого как Archiva, Artifactory или Nexus, который может выборочно получать артефакты из других хранилищ и который все ваши сборки могут использовать исключительно.

1 голос
/ 11 сентября 2011

The Maven download - это просто бутстрап. В зависимости от целей, которые вы вызываете (либо из командной строки, либо из настроек в POM), Maven загрузит необходимые плагины, чтобы выполнить работу. Таким образом, Maven не может работать без Maven Central или прокси для Maven Central.

...