URL репозитория Maven истекает, сборка занимает вечно - PullRequest
2 голосов
/ 02 марта 2012

Похоже, что одно из хранилищ временно недоступно и выдает предупреждение типа:

[WARNING] Could not transfer metadata org.gbif:gbif-common:0.5-SNAPSHOT/maven-metadata.xml 
from/to eclipselink (http://ftp.ing.umu.se/mirror/eclipse/rt/eclipselink/maven.repo):
Error transferring file: Operation timed out

Я не ссылаюсь на этот репозиторий в pom-файле моего приложения, но он поступает из нижестоящего репозитория или зависимого проекта (?). Нажатие на URL http://ftp.ing.umu.se в моем браузере приводит к вращающейся строке прогресса, за которой в конечном итоге выдается сообщение "не удалось подключиться к ..." в браузере.

Проблема в том, что для каждого артефакта он пробует этот URL-адрес и время ожидания истекает через 75 секунд, а затем продолжается. Таким образом, моя сборка длится вечно (более часа и считается).

Есть ли какой-нибудь способ предотвратить проверку этого хранилища или сократить время ожидания и т. Д. До сих пор Googling не дал мне ничего.

РЕДАКТИРОВАТЬ: работает Maven как mvn clean package -DskipTests=true

1 Ответ

3 голосов
/ 02 марта 2012

Вы можете использовать зеркало репозитория для перенаправления запросов в известный исправный репозиторий.На самом деле рекомендуется установить глобальное зеркало «*» для репозитория по вашему выбору, чтобы предотвратить выборку кода из случайного репозитория, объявленного в файле pom.

Пример для ~ / .m2 / settings.xml:

<settings>
  ...
  <mirrors>
    <mirror>
      <id>global</id>
      <name>Maven Central</name>
      <url>http://repo1.maven.org/maven2</url>
      <mirrorOf>*</mirrorOf>
    </mirror>
  </mirrors>
  ...
</settings>

В этом примере я использую Maven Central в качестве цели, но вы можете перенаправить запросы куда угодно, напримерчастный репозиторий.Если вам нужно получить код из нескольких репо, вы можете создать исключение, используя «!»и затем идентификатор репо, как объявлено в ваших настройках, например, так.

...
<mirrorOf>*, !otherRepo</mirrorOf>
...

Это предотвратит перенаправление запросов к «otherRepo» на зеркальную цель.

Конечно, если вы включитеесли вам нужен артефакт, который действительно хранится только в этом капризном хранилище, вам все равно не повезет.

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