В последнее время задания по сборке Maven, выполняемые в Jenkins , не выполняются, за исключением следующего случая: они не могут получить зависимости от Maven Central и должны использовать HTTPS . Я не уверен, как изменить запросы с HTTP на HTTPS . Может ли кто-нибудь направить меня по этому вопросу?
[ОШИБКА] Неразрешимое расширение сборки: не удалось разрешить
плагинorg.apache.maven.wagon:wagon-ssh:2.1
или одну из его зависимостей:
Не удалось собрать зависимости дляorg.apache.maven.wagon:wagon-ssh:jar:2.1 ()
:
Не удалось прочитать дескриптор артефакта дляorg.apache.maven.wagon:wagon-ssh:jar:2.1
:
Не удалось перенести артефактorg.apache.maven.wagon:wagon-ssh:pom:2.1
из / в центральную часть ( http: //repo.maven.apache. org / maven2 ): не
удалось передать файл: http://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-ssh/2.1/wagon-ssh-2.1.pom .
Код возврата:501, ReasonPhrase:HTTPS Required. -> [Help 2]
Ожидание, пока Jenkins завершит сбор
data[ERROR]
Pluginorg.apache.maven.plugins:maven-clean-plugin:2.4.1
или одной из его зависимостей, не может быть решено:
Не удалось прочитать дескриптор артефакта дляorg.apache.maven.plugins:maven-clean-plugin:jar:2.4.1
:
Не удалось перенести артефактorg.apache.maven.plugins:maven-clean-plugin:pom:2.4.1
из / в центральный ( http://repo.maven.apache.org/maven2 ):
Не удалось передать файл: http://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-clean-plugin/2.4.1/maven-clean-plugin-2.4.1.pom .
Код возврата:501 , ReasonPhrase:HTTPS Required. -> [Help 1]
источник
settings.xml
в jenkins на центральный URL mavenОтветы:
Причина наблюдаемой ошибки объясняется в Central 501 HTTPS Требуется
Похоже, что последние версии Maven (с 3.6.0, 3.6.1) уже используют URL-адрес HTTPS по умолчанию.
Вот даты, когда основные репозитории переключатся:
Сборки Java могут прерваться с 13 января (если вы еще не переключили доступ репо к HTTPS)
Обновление: похоже на maven 3.2.3. Доступ к maven central осуществляется через HTTPS. См. Https://stackoverflow.com/a/25411658/5820670.
Журнал изменений Maven ( http://maven.apache.org/docs/3.2.3/release-notes.html )
источник
settings.xml
файл (и добавьте их, пожалуйста, поскольку это правильное решение, кроме использования исправленного Maven).settings.xml
использование HTTPS-репозиториев ... с которыми он может,wget
но по какой-то очень странной причинеmvn archetype:generate -X
(просто для проверки возможности загрузки зависимостей) он все еще печатает, что он обращается кDownloading: http://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.pom
любой помощи, пожалуйста ..?Я сталкиваюсь с той же проблемой. Есть два решения, которые я попробовал, и оба прекрасно работают для меня.
Обновите репозиторий версий Maven:
Загрузите двоичный файл Apache Maven, который включает в себя адреса https по умолчанию ( двоичный файл Apache Maven 3.6.3 ). И откройте диалоговое окно « Параметры» в инструментах панели меню NetBeans ( диалоговое окно Java Maven ). И выберите опцию просмотра в Maven Home List Box ( Просмотр списка Maven Home List Box ). После добавления новой загруженной версии Apache Maven ( обновленный вид списка домашних страниц Maven ) проект успешно собирается и запускается.
Ограничьте текущую версию Maven использованием ссылок HTTPS:
Включите следующий код в pom.xml вашего проекта.
источник
( источник )
Мы внесли следующие изменения в build.gradle моего проекта:
Старый:
Новое:
источник
Попробуйте нажать на ссылку ниже в любом браузере. Вернется 501
http://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-ssh/2.1/wagon-ssh-2.1.pom
Пожалуйста, попробуйте с https. Он загрузит файл pom.xml:
https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-ssh/2.1/wagon-ssh-2.1.pom
Пожалуйста, добавьте его ( https://repo.maven.apache.org/maven2 ) в файл setting.xml:
источник
Обновите центральный репозиторий Maven и используйте https вместо http .
источник
Я использовал чистую установку Maven / Java на контейнере Docker.
Для меня мне пришлось
cd $M2_HOME/conf
и редактироватьsettings.xml
файл там. Добавьте следующий блок внутрь<mirrors>...</mirrors>
источник
Я использовал устаревшую версию Maven (3.0.3 и 3.1). Эти старые версии больше не поддерживают http-репозитории (как упомянуто выше). Обновление до Maven 3.6 было для меня исправлением.
источник
Maven переходит на HTTPS и отключает доступ HTTP
Краткий рассказ: с 15 января 2020 года репозиторий Maven Central больше не поддерживает HTTP-соединения (другие репозитории делают то же самое). Поэтому вы укажете свои настройки Maven / Gradle для использования HTTPS URL.
Решение:
Вы можете выбрать один из следующих трех подходов.
Добавьте репозиторий в
pom.xml
файл вашего проектаДобавьте репозиторий в профиль в
settings.xml
файле.Для Gradle:
Замените только URL для версии HTTPS.
источник
$M2_HOME
или$PATH
переменные env будут указывать только на одну из них, которая будет вашей версией по умолчанию maven. Я бы предпочел удалить старую версию перед установкой новой. Но это зависит от ваших потребностей.Я был добавлен следующий сегмент кода в setting.xml, и это было решено,
источник
У меня та же проблема, но я использую GitLab вместо Jenkins. Шаги, которые я должен был сделать, чтобы преодолеть проблему:
Я понимаю, что это более конкретно для моей установки. Но без выполнения всех вышеперечисленных шагов я все равно продолжаю получать это сообщение об ошибке
Return code is: 501 , ReasonPhrase:HTTPS Required
источник
Как указывалось в других ответах, https теперь требуется для отправки запросов в Maven Central, в то время как более старые версии Maven используют http .
Если вы не хотите / не можете обновиться до Maven 3.2.3+, вы можете обойти эту проблему, добавив следующий код в ваш MAVEN_HOME \ conf \ settings.xml в
<profiles>
раздел:Это всегда будет активная настройка, если вы не отключите / не переопределите ее в своем POM при необходимости.
источник
Для всех корпоративных кодеров, в идеале, если вы получаете эту ошибку, это означает, что ваша кодовая база все еще создается из сообщества открытого исходного кода. Вам необходимо перегрузить «центральный» репозиторий у своего менеджера репозитория Maven.
Вы можете перейти к файлу settings.xml и переопределить URL центрального хранилища с http: // на https: //
Найдите разделы зеркал и добавьте следующую запись:
В разделе URL, если вы использовали http://repo1.maven.org/maven2/ или http://repo.maven.apache.org/maven2/ тогда
Заменить http://repo1.maven.org/maven2/ на https://repo1.maven.org/maven2/
Замените http://repo.maven.apache.org/maven2/ на https://repo.maven.apache.org/maven2/
Вам в идеале нужно использовать URL-адрес управления / хранилища для контроля исходных кодов вашей компании здесь. Так как это заблокирует любой контакт с открытым хранилищем Maven репозитория.
Как упоминалось в других ответах, начиная с 15 января 2020 года, центральный репозиторий Maven не поддерживает небезопасную связь по обычному HTTP.
источник
Для меня (корпоративного кодера) также добавлено зеркальное хранилище в
settings.xml
исправленной проблеме. Я также использую Maven внутри док-контейнера.источник
Использование Ubuntu 16.04, Java 1.8.0_201.
Я удалил старый maven и установил Maven 3.6.3, все еще получал эту ошибку, что зависимости Maven терпят неудачу с ошибкой 501.
Понял, что это может быть проблема склада доверенных сертификатов / хранилища ключей, связанная с требованием https. Обнаружил, что теперь вы можете настроить параметры -Djavax с помощью файла jvm.config, смотрите: Https://maven.apache.org/configure.html .
Так как я также использую Tomcat, я скопировал конфигурацию хранилища ключей и доверенных сертификатов из Tomcat (setenv.sh) в мой jvm.config, и тогда это сработало!
Существует также возможность передать эту конфигурацию в «export MAVEN_OPTS» (при использовании mvn generate), но, хотя это остановило ошибку 501, она создала другую: она ожидала файл pom.
Создание отдельного файла jvm.config работает отлично, просто поместите его в корень вашего проекта.
Надеюсь, это кому-нибудь поможет, у меня ушел целый день, чтобы разобраться!
источник
Та же проблема имеет место и для jcenter .
Проекты, получающие свои зависимости с использованием одного и того же, начнут сталкиваться с проблемами. Для быстрого исправления сделайте следующее в вашем build.gradle
вместо
использовать этот:
источник
Ошибка:
Не удалось передать файл: http://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-ssh/2.1/wagon-ssh-2.1.pom .
Код возврата: 501, ReasonPhrase: требуется HTTPS.
Анализ причин:
Maven central ожидает, что клиенты используют https, но клиент делает только простой HTTP-запрос.
Поэтому запрос на загрузку пакета с именем 'wagon-ssh-2.1.pom' не выполнен.
Как решить проблему?
Заменить URL " http://repo.maven.apache.org/maven2 »
с " https://repo.maven.apache.org/maven2 "
в файле pom.xml или файле build.gradle проекта.
источник
Поделиться этим на случай, если кому-то это нужно:
Конфигурация Old Gradle (без Gitlab, развертывания Docker, для простых проектов)
Новый конфиг:
Обратите внимание на https. Удачного кодирования :)
источник
Моя текущая среда не поддерживает HTTPS, поэтому добавление небезопасной версии репозитория решило мою проблему: http://insecure.repo1.maven.org согласно Sonatype
источник
Добавьте следующий репозиторий в pom.xml .
источник
http