Я получаю указанные ниже ошибки при подключении к Maven Central / https://repo1.maven.org после 18 июня. 2018.
Received fatal alert: protocol_version
or
Received fatal alert: peer not authenticated
Я получаю указанные ниже ошибки при подключении к Maven Central / https://repo1.maven.org после 18 июня. 2018.
Received fatal alert: protocol_version
or
Received fatal alert: peer not authenticated
Решение 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 Advanced Support
Также проблему можно решить обновлением версии Java 7. Но последняя доступная версия (7u80
) не решает проблему. Необходимо использовать обновление, поставляемое с Oracle Advanced Support (ранее известное как Java for Business).
Решение 3. Вместо этого используйте Java 8
Настройте $JAVA_HOME
так, чтобы он указывал на Java 8.
sbt -Dhttps.protocols=TLSv1.2 instal
но не работает
- person G.Saleh; 06.07.2020
-Dhttps.protocols=TLSv1.2
. Итак, вам нужно найти, как передавать параметры java в SBT.
- person v.ladynev; 06.07.2020
В июне 2018 года в целях повышения безопасности и соответствия современным стандартам незащищенные протоколы TLS 1.0 и 1.1 больше не будут поддерживаться для SSL-подключений к Central. Это должно коснуться только пользователей Java 6 (и Java 7), которые также используют https для доступа к центральному сайту, что, по нашим показателям, составляет менее 0,2% пользователей.
Дополнительные сведения и обходные пути см. В блоге и часто задаваемых вопросах здесь: https://blog.sonatype.com/enhancing-ssl-security-and-http/2-support-for-central
Следующая команда помогла мне (выполнение на bash перед запуском mvn)
export MAVEN_OPTS=-Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2
export MAVEN_OPTS=-Dhttps.protocols=TLSv1.2
- person manuelvigarcia; 06.08.2020
Как сказал @ v.ladynev, он работает с JDK 1.7
В Eclipse, чтобы иметь возможность выполнять «Запуск от имени» maven install
с параметром командной строки TLS, просто настройте JDK, который вы используете.
Откройте диалоговое окно через Окно> Настройки> Java strong >> Установленные JRE.
Затем выделите тот, который вы используете (это должен быть JDK, а не JRE), нажмите Изменить. . В поле «Аргументы ВМ по умолчанию» введите значение -Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2
. Как показано ниже:
Очистите проект (возможно, необязательно), затем повторно запустите maven install
.
Извините, я не знаю, почему вы получаете сообщение об ошибке. Однако я использую Java 7 и Windows 10, и решением для меня было временно использовать Java 8, изменив переменную среды JAVA_HOME
. Затем я мог запустить mvn install
и получить данные из центрального репозитория Maven.
Обратите внимание, что если вы используете IBM JDK, вам также может потребоваться установить
com.ibm.jsse2.overrideDefaultTLS=true
Обновите версию maven до 3.6.3 и запустите
mvn -Dhttps.protocols=TLSv1.2 install
он работал на CentOS 6.9
Добавьте -Dhttps.protocols = TLSv1, TLSv1.1, TLSv1.2 к аргументам виртуальной машины по умолчанию в разделе Window - ›Preferences -› Java - ›Установленные JRE в Eclipse, проверьте и запустите свой проект, он должен и будет работать.
Используя jdk7-u221, мне нужно было установить расширение Java Cryptography Extension (JCE)
Расширение криптографии Java JCE
Для настройки свойств Java на сервере приложений Windows:
затем добавьте параметры Java:
перезапустить службу.