Estou recebendo os erros abaixo ao me conectar ao Maven Central / https://repo1.maven.org após 18 de junho de 2018.
Received fatal alert: protocol_version
ou
Received fatal alert: peer not authenticated
Estou recebendo os erros abaixo ao me conectar ao Maven Central / https://repo1.maven.org após 18 de junho de 2018.
Received fatal alert: protocol_version
ou
Received fatal alert: peer not authenticated
Respostas:
Solução 1: configurar o Java 7
É necessário ativar o protocolo TLS 1.2 com propriedade Java na linha de comandos
mvn -Dhttps.protocols=TLSv1.2 install
install
é apenas um exemplo de objetivo
O mesmo erro para ant
pode ser resolvido desta maneira
java -Dhttps.protocols=TLSv1.2 -cp %ANT_HOME%/lib/ant-launcher.jar org.apache.tools.ant.launch.Launcher
Solução 2: use Java 7 com suporte avançado Oracle
Também o problema pode ser resolvido atualizando a versão do Java 7. Mas a última versão disponível ( 7u80
) não resolve o problema. É necessário usar uma atualização fornecida com o Oracle Advanced Support (anteriormente conhecido como Java for Business).
Solução 3: use o Java 8
Configure $JAVA_HOME
para apontar para o Java 8.
sbt -Dhttps.protocols=TLSv1.2 instal
mas ele não funciona?
-Dhttps.protocols=TLSv1.2
. Então, você precisa descobrir como passar parâmetros java no SBT.
Em junho de 2018, em um esforço para aumentar a segurança e cumprir os padrões modernos, os protocolos TLS 1.0 e 1.1 inseguros não serão mais suportados para conexões SSL com a Central. Isso deve afetar apenas os usuários do Java 6 (e Java 7) que também usam https para acessar a central, que por nossas métricas é inferior a 0,2% dos usuários.
Para obter mais detalhes e soluções alternativas, consulte o blog e as perguntas frequentes aqui: https://blog.sonatype.com/enhancing-ssl-security-and-http/2-support-for-central
O comando a seguir me ajudou (executando no bash antes de executar o mvn)
export MAVEN_OPTS=-Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2
Como disse @ v.ladynev, ele funciona com o JDK 1.7
Com o Eclipse, para poder executar um "Executar como" maven install
com o parâmetro de linha de comando TLS, basta configurar o JDK que você está usando.
Abra o diálogo em Janela > Preferências > Java > JREs Instalados .
Em seguida, destaque o que você está usando (deve ser um JDK , não um JRE ), clique em Editar . No campo "Argumentos padrão da VM", preencha o valor -Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2
. Como mostrado abaixo:
Limpe o projeto (talvez opcional) e execute novamente a maven install
.
Sinto muito, não sei por que você recebeu a mensagem de erro. No entanto, estou usando Java 7 e Windows 10 e a solução para mim foi usar temporariamente o Java 8 alterando a JAVA_HOME
variável de ambiente. Então eu poderia correr mvn install
e buscar no Maven Central Repository.
Observe que, se você estiver usando o IBM JDK, também poderá ser necessário definir
com.ibm.jsse2.overrideDefaultTLS=true
Usando jdk7-u221, eu precisava instalar o Java Cryptography Extension (JCE)