¿Por qué recibo “Recibido alerta fatal: versión de protocolo” o “igual no autenticado” de Maven Central?

Recibo los errores anteriores cuando me conecto a Maven Central / https://repo1.maven.org después del 18 de junio de 2018.

En junio de 2018, en un esfuerzo por boost la seguridad y cumplir con los estándares modernos, los inseguros protocolos TLS 1.0 y 1.1 ya no serán compatibles con las conexiones SSL a Central. Esto solo debería afectar a los usuarios de Java 6 que también usan https para acceder a la central, que según nuestras métricas es inferior al .2% de los usuarios.

Para obtener más detalles y soluciones, consulte el blog y las preguntas frecuentes aquí: https://blog.sonatype.com/enhancing-ssl-security-and-http/2-support-for-central

Se puede resolver para Java 7. Es necesario habilitar el protocolo TLS 1.2 con la propiedad Java en la línea de comando

mvn -Dhttps.protocols=TLSv1.2 install 

install es solo un ejemplo de un objective

El mismo error para la ant se puede resolver de esta manera

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

Actualiza la versión de Java 7

También se puede resolver el problema actualizando la versión de Java 7. Pero la última versión disponible ( 7u80 ) no soluciona el problema. Es necesario utilizar una actualización proporcionada con Oracle Advanced Support (anteriormente conocido como Java for Business).

El siguiente comando me ayudó (ejecutándose en bash antes de ejecutar mvn)

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

Lo siento, no sé por qué recibes el mensaje de error. Sin embargo, estoy usando Java 7 y Windows 10 y la solución para mí fue usar temporalmente Java 8 cambiando la variable de entorno JAVA_HOME . Entonces podría ejecutar mvn install y fetch desde Maven Central Repository.

Tenga en cuenta que si está utilizando IBM JDK también puede tener que establecer

com.ibm.jsse2.overrideDefaultTLS=true

https://www.ibm.com/support/knowledgecenter/SSYKE2_8.0.0/com.ibm.java.security.component.80.doc/security-component/jsse2Docs/matchsslcontext_tls.html#matchsslcontext_tls