Al compilar en Maven, pueden ocurrir varios errores. Uno de ellos es el protocol version y tiene que ver con el protocolo de la capa de seguridad.
Hace ya algunos años, Maven cambio sus repositorios para utilizar protocolos seguros, pasando del protocolo HTTP a HTTPs. Esto añadía una capa de seguridad para enviar la información de las librerías cifradas.
Sin embargo, al instalar algunas aplicaciones con Maven, se puede dar el caso de que el repositorio no especifique qué versión de TLS se requiere utilizar. Esto provoca un error como el siguiente:
El error, en concreto, dice lo siguiente:
Received fatal alert: protocol_version
Para solucionarlo, simplemente, hay que especificar qué versión de TLS utilizar. Ya que Maven, en estos casos, sabe qué tiene que utilizar TLS pero existen varias versiones del mismo, por lo cual no es capaz de identificar cuál requiere usar en este caso.
En el ejemplo, se observa que el error es causado al descargar la librería json-simple, para tratar datos de tipo JSON, pero podría darse con cualquier otra librería.
Así que, si queremos realizar un install sin que nos salte este error, debería lanzar en la consola algo como esto:
mvn -Dhttps.protocols=TLSv1.2 install
Así, le estamos especificando la versión 1.2 de TLS como protocolo a usar sobre https para conectarse y realizar el install.