Как справиться с отсутствующим удаленным ресурсом в моей сборке maven из-за ошибки CHECKSUM FAILED

Я заметил, что сборка maven не работает, потому что конкретную зависимость нельзя загрузить. В журнале построения я получаю много сообщений об ошибках, подобных этому:

WARNING] *** CHECKSUM FAILED - Checksum failed on download: local = '10c2aa7dfc8577cb32ee654d2cd5b270d478b823'; remote = '
<p>Если я проверяю <a href="http://maven.glassfish.org/content/groups/public//org/apache/maven/maven-archiver/2.0.1/maven-archiver-2.0.1.pom" rel="nofollow noreferrer" target="_blank">URL</a>, который пытается извлечь из него, я вижу, что этот ресурс ineed кажется сломанным. Я предполагаю, что это то, что проходит для 404 в Oracle-Land. Странно, что если я посмотрю на родительский каталог <a href="http://maven.glassfish.org/content/groups/public//org/apache/maven/maven-archiver/2.0.1/" rel="nofollow noreferrer" target="_blank">я могу увидеть запись для этого отсутствующего файла, но без размера файла.</a></p> <p>Очевидно, что что-то не так на удаленном сервере. Это заставляет все загруженные артефакты содержать нагрузку HTML-мусора. Удаление файлов и повторное выполнение просто заставляют тот же самый набор мусора загружаться из Oracle.</p> <p>Вопрос в том, как я могу обойти эту проблему? К сожалению, это новый проект, который я только что извлек из мрачных туманов времени. Никто из моих коллег не имеет компонентов на своих ПК, иначе я бы просто скопировал их. Могу ли я дать команду maven использовать какой-либо альтернативный источник для получения отсутствующих банок?</p>
1 ответ

Вероятно, вы можете попробовать один из этих трех вариантов:

Удалите объявление оскорбительного репозитория, если вы можете отредактировать POM, в котором он определен. Это решит проблему для всех, кто нуждается в разработке в проекте.

Переопределите URL-адрес репозитория в вашем файле settings.xml. Вам нужно будет найти, в каком POM находится репозиторий, и указать его имя. Вы можете использовать что-то вроде:

<mirror>
 <id>temporary-override</id>
 <url>http://repo1.maven.org/maven2/</url>
 <mirrorof>ID_OF_REPO</mirrorof>
</mirror>

Если все остальное не удается переопределить все репозитории:

<mirror>
 <id>temporary-override</id>
 <url>http://repo1.maven.org/maven2/</url>
 <mirrorof>*</mirrorof>
</mirror>

На сайте Maven есть документация о зеркалах репозитория.

licensed under cc by-sa 3.0 with attribution.