Почему я получаю "Полученное фатальное предупреждение: протокол_версии" или "не проверено подлинностью" от Maven Central?

Я получаю следующие ошибки при подключении к Maven Central/https://repo1.maven.org после 18 июня 2018 года.

Received fatal alert: protocol_version

или же

Received fatal alert: peer not authenticated

Ответ 1

Решение 1: настроить Java 7

Необходимо включить протокол TLS 1.2 со свойством Java в командной строке

mvn -Dhttps.protocols=TLSv1.2 install

install это просто пример цели

Та же ошибка для ant может быть решена таким способом

java -Dhttps.protocols=TLSv1.2 -cp %ANT_HOME%/lib/ant-launcher.jar org.apache.tools.ant.launch.Launcher

Решение 2: используйте Java 7 с расширенной поддержкой Oracle

Также проблему можно решить, обновив версию Java 7. Но последняя доступная версия (7u80) не решает проблему. Необходимо использовать обновление, предоставляемое с Oracle Advanced Support (ранее известной как Java для бизнеса).

Решение 3: используйте Java 8 вместо

Сконфигурируйте $JAVA_HOME для указания на Java 8.

Ответ 2

В июне 2018 года в целях повышения безопасности и соответствия современным стандартам небезопасные протоколы TLS 1.0 и 1.1 больше не будут поддерживаться для соединений SSL с центральным соединением. Это должно повлиять только на пользователей Java 6 (и Java 7), которые также используют https для доступа к центральному, что по нашим показателям составляет менее 0,2% пользователей.

Для получения дополнительной информации и обходных путей см. Блог и часто задаваемые вопросы здесь: https://blog.sonatype.com/enhancing-ssl-security-and-http/2-support-for-central

Ответ 3

Следующая команда помогла мне (выполняя команду bash перед запуском mvn)

export MAVEN_OPTS=-Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2

Ответ 4

Как сказал @v.ladynev, он работает с JDK 1.7

В Eclipse, чтобы иметь возможность выполнить "Запуск от имени" maven install с параметром командной строки TLS, просто настройте JDK, который вы используете.

Откройте диалоговое окно через окно > Настройки > Java > Установленные JRE.

Затем выделите тот, который вы используете (должен быть JDK, а не JRE), нажмите Изменить. В поле "Параметры виртуальной машины по умолчанию" заполните значение -Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2. Как показано ниже:

enter image description here

Очистите проект (возможно, не обязательно), затем снова запустите maven install.

Ответ 5

Извините, я не знаю, почему вы получаете сообщение об ошибке. Тем не менее, я использую Java 7 и Windows 10, и я JAVA_HOME временно использовать Java 8, изменив переменную среды JAVA_HOME. Затем я мог запустить mvn install и получить из Центрального репозитория Maven.