El pasado septiembre fue publicada la versión 11 de Java. Esta es la segunda versión del nuevo mecanismo de publicación de versiones más frecuente con una cadencia de unos seis meses. Es, además, una versión importante ya que es la primera versión considerada LTS desde Java 8.

La lista de novedades no es especialmente relevante. Esto es de esperar dada el nuevo ritmo de versiones. Lo importante de esta versión son las implicaciones de cara al soporte. Veamos primero las principales novedades.

Principales novedades

Eliminación de paquetes Java EE y Corba

Se han eliminado algunos paquetes incluidos en el JDK como java.xml.bind, java.corba o java.activation. En caso de necesitar esos paquetes tan sólo hay que incluirlos como dependencia externa.

Nuevo cliente HTTP

El JDK incorpora un nuevo cliente HTTP con una API moderna y soporte para HTTP/2. Permite programación reactiva y el envío de peticiones asíncronas.

Sintaxis de variables locales en parámetros lambda

Se puede utilizar la palabra clave var en los parámetros lambda. La utilidad de esta novedad radica en poder aplicar anotaciones a un parámetro sin necesidad de declararlo completamente como era necesario hasta ahora.

Shebang

La expresión shebang hace referencia a la cadena #! que se incluye al principio de un script (bajo Linux) y permite su ejecución directa por línea de comandos. Ahora se puede tener scripts Java de este tipo.

TLS 1.3

Soporte para la nueva versión de Transport Layer Security.

Soporte de Java, ¿sigue siendo Java gratuito?

Y ahora el tema importante respecto a esta nueva versión de Java.

¿Sigue siendo Java gratuito?

La respuesta corta es .

La respuesta algo más elaborada es que el nuevo modelo de versiones y la publicación de la versión 11 nos dejan un paisaje diferente en lo relativo a las versiones de Java proporcionadas por Oracle. Hasta la versión 8 prácticamente se usaban las distribuciones de Java de Oracle que incluian actualizaciones de seguridad durante bastante tiempo. Eso ha cambiado y a partir de Enero de 2019 se acaban las actualizaciones gratuitas de Java 8. Las nuevas versiones con el ciclo de publicación semestral sólo tendrán soporte hasta la siguiente versión. Además la versión publicada por Oracle de Java sólo será gratuita para uso no comercial.

Nada de eso importa mucho para la mayoría de usuarios. La distrución de Oracle es exactamente igual que la de OpenJDK, sin cambios. Así que tan sólo hay que usar las versiones de OpenJDK. El servicio AdoptOpenJDK proporciona las diferentes versiones de Java de manera totalmente libre. Es la página de referencia a partir de ya para descargar Java.

Para una explicación más detallada recomiendo la lectura de Java is still available at zero-cost.

Referencias