Как предотвратить Maven 2 от поиска удаленных репозиториев для определенных зависимостей, которые находятся только в локальном репозитории?
Как предотвратить Maven 2 от поиска удаленных репозиториев для конкретных локальных настроек?
Ответ 1
Как предотвратить Maven 2 от поиска удаленных репозиториев для определенных зависимостей, которые находятся только в локальном репозитории
Ну, на самом деле, Maven не будет, если:
- они являются зависимостями SNAPSHOT, и в этом случае это ожидаемое поведение.
- им не хватает файла
.pom
, и в этом случае вы можете его предоставить или сгенерировать (см. вопросы ниже).
Связанные вопросы
Ответ 2
- настроить nexus в качестве менеджера хранилища.
- добавьте дополнительные удаленные проксированные репозитории при необходимости
- добавить локальный размещенный репозиторий (размещенный на сервере nexus).
- сначала определите группу репозиториев в правильной последовательности поиска с вашим местным репо.
- измените свои сборки, указывая на URL-адрес группы nexus (используйте mirrorOf = * в ваших настройках .xml)
- запустите свою сборку и позвольте nexus управлять локальным и удаленным разрешением зависимости.
Ответ 3
Используйте фиксированные номера версий в POM для ваших удаленных зависимостей или локальные версии, которые вы хотите извлечь из локального репозитория.
Maven пытается быть дружелюбным и получать последнее и самое лучшее из того, что не указало номер версии.
Для быстрого исправления, чтобы не дожидаться загрузки Интернета каждый раз, когда вы строите, вы можете использовать mvn -o для принудительной автономной сборки, а затем он не потеряет время, пытаясь извлечь новые версии.
Ответ @crowne также очень хороший совет, особенно настройка собственной связи и обеспечение того, чтобы все удаленные репозитории были настроены там, поэтому у вас никогда не будет неприятных сюрпризов, когда репо исчезнет в какой-то день.
Ответ 4
Чтобы предотвратить Maven от проверки удаленных репозиториев вообще, вы можете использовать флаг -o
. В противном случае Maven проверит, что зависимости от моментального снимка обновляются. Вы можете использовать диспетчер зависимостей, например Nexus, чтобы получить мелкомасштабный контроль над разрешением зависимостей. Раздел файла в вашем файле pom.xml
или settings.xml
также имеет элемент updatePolicy
, который позволяет вам настроить, как часто Maven будет проверять для обновленных зависимостей.