Как запретить Maven 2 выполнять поиск в удаленных хранилищах для определенных локальных зависимостей? - PullRequest
10 голосов
/ 24 августа 2010

Как запретить Maven 2 искать в удаленных хранилищах определенные зависимости, которые есть только в локальном хранилище?

Ответы [ 4 ]

8 голосов
/ 25 августа 2010

Как запретить Maven 2 искать в удаленных репозиториях определенные зависимости, которые есть только в локальном репозитории

Ну, на самом деле, Maven не будет, если:

  • это зависимости SNAPSHOT, в этом случае это ожидаемое поведение.
  • им не хватает файла .pom, и в этом случае вы можете предоставить его или сгенерировать (см. Вопросы ниже).

Похожие вопросы

4 голосов
/ 24 августа 2010
  1. установить nexus в качестве менеджера хранилища.
  2. при необходимости добавьте дополнительные удаленные прокси-репозитории
  3. добавить локальный размещенный репозиторий (размещенный на сервере Nexus)
  4. определите группу репозиториев в правильной последовательности поиска с первым локальным репо.
  5. измените ваши сборки так, чтобы они указывали на URL группы nexus (используйте mirrorOf = * в вашем файле settings.xml)
  6. запустите сборку и позвольте nexus управлять локальным и удаленным разрешением зависимостей
3 голосов
/ 24 августа 2010

Чтобы запретить Maven проверять удаленные репозитории на всех , вы можете использовать флаг -o. В противном случае Maven проверит актуальность любых зависимостей моментальных снимков. Вы можете использовать менеджер зависимостей, такой как Nexus , чтобы получить детальный контроль над разрешением зависимости. Раздел репозитория в вашем файле pom.xml или settings.xml также содержит элемент updatePolicy, который позволяет вам настраивать частоту проверки обновлений зависимостями в Maven.

3 голосов
/ 24 августа 2010

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

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

Для быстрого исправления, чтобы не ждать загрузки интернета при каждой сборке, вы можете использовать mvn -o , чтобы принудительно запустить автономную сборку, и тогда она не потеряет время при попытке получить новую версии.

Ответ @crowne также очень хороший совет, особенно настройте свой собственный нексус и убедитесь, что все удаленные репозитории настроены там, чтобы у вас никогда не было неприятных сюрпризов, когда репо исчезнет однажды.

...