Как заставить maven скачивать помпы для автономного использования - PullRequest
7 голосов
/ 13 сентября 2009

Моя проблема с Maven заключается в том, что если репозиторий maven не отвечает, он не может построить. Кажется, что каждый раз "mvn package" выбирает несколько poms, которые не будут меняться, потому что они одной и той же версии.

Как я могу сказать maven, что, пожалуйста, не ищите их с сервера, а вместо этого загружайте их постоянно в автономный репозиторий?

Спасибо!

Ответы [ 2 ]

11 голосов
/ 14 сентября 2009

Вы можете запустить maven с флагом -o:

 -o,--offline                           Work offline

Это заставит Maven никогда не искать зависимости в удаленных репозиториях. С другой стороны, ваша сборка не удастся, если в локальном хранилище не найдены зависимости.

11 голосов
/ 13 сентября 2009

Вы можете настроить хранилище так, чтобы оно проверяло обновления только время от времени или никогда, установив элемент updatePolicy в объявлении хранилища. Из документации по настройке :

Частота загрузки обновлений - может быть «всегда», «ежедневно» (по умолчанию), «интервал: XXX» (в минутах) или «никогда» (только если не существует локально).

При добавлении следующего к вашему POM или к настройкам центральный репозиторий будет загружаться, только если артефакт не существует локально:

<repositories>
  <repository>
    <id>central</id>
    <releases>
      <updatePolicy>never</updatePolicy>
    </releases>
  </repository>
</repositories>

Если рассматриваемый репозиторий является внутренним удаленным репозиторием, вам необходимо убедиться, что maven-metadata.xml настроен правильно в удаленном репозитории, или Maven будет пытаться загрузить его каждый раз. Самый простой способ сделать это - использовать менеджер репозитория , который будет автоматически управлять метаданными

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...