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

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

10
задан Derek Mahar 25 August 2010 в 04:50
поделиться

4 ответа

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

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

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

Вопросы по теме

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

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

3
ответ дан 3 December 2019 в 20:39
поделиться

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

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

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

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

3
ответ дан 3 December 2019 в 20:39
поделиться
Другие вопросы по тегам:

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