1

¿Migrar a Java 9? Oracle tiene un plan para hacerlo fácil

No hay migraciones sencillas. Pero Oracle ha hecho una propuesta para que hacerlo a Java 9 no sea la pesadilla que algunos anticipan.

CIO AMÉRICA LATINA | Por Elibeth Eduardo | @ely_e

Sí usted pensó que el lanzamiento de Java 9 a finales del mes de julio le daba suficiente tiempo para planear y hacer la migración, le tenemos malas noticias: el tiempo de “planear” se agotó.

La buena noticia es que, si el comité que logró Java aprueba una propuesta que acaba de hacer Oracle para acomodar mejor modularidad, realizar la migración será mucho más fácil.

¿Cómo? La empresa ha hecho una propuesta para una funcionalidad clave en Java 9, después de conseguir una fuerte oposición a sus planes de modularización de la comunidad de Java.

Este jueves el principal arquitecto de Java en Oracle, Mark Reinhold, declaró que el fuerte encapsulado de las API de JDK-internal está ocasionando preocupaciones sobre si el código que funciona en JDK 8 funcionará también en JDK 9, especialmente porque no hay ninguna advertencia al respecto.

“Para ayudar a todo el ecosistema a migrar a la plataforma modular de Java a un ritmo más relajado, por la presente propongo permitir el acceso reflexivo ilegal desde el código en la ruta de acceso de clase por defecto en JDK 9, y no permitirlo en una versión futura”, sugirió.

Y eso significa que…

Dicho de otra manera, Reinhold señala que el actual “big kill switch” se convertiría en la opción de comportamiento por defecto o predeterminado del sistema de ejecución JDK 9, aunque sin tantas advertencias.

“El comportamiento actual de JDK 9, en el que las operaciones ilegales de acceso reflexivo desde el código en la ruta de clase no están permitidas, se convertirá en el valor predeterminado en una versión futura. Nada cambiará en tiempo de compilación”.

Por supuesto y como lo ha ratificado Reinhold, este cambio no resolverá mágicamente todos los problemas de adopción de JDK 9 pero evitará un mayor trauma inicial.

Y es que los tipos concretos de los cargadores de clase incorporados son todavía diferentes, rt.jar se ha ido, el diseño de una imagen del sistema no es el mismo, y la cadena de versión todavía tiene un nuevo formato.

Así que cruce los dedos: si la propuesta de Oracle no pasa, podría ser duro.