Transición de Java 7 a Java 8
En este artículo se proporcionan instrucciones de alto nivel sobre cómo migrar una aplicación de Java 7 a Java 8. No se trata el uso de las características de Java 8.
No existe una solución única para realizar la transición del código de Java 7 a Java 8. Para realizar la transición de Java 7 a Java 8 lo habitual es que se requiera poco trabajo. Entre los posibles problemas se incluyen varias API modificadas, el ajuste de la inferencia de tipos en javac, los cambios en los cargadores de clases y los cambios en permgen (parte de la recolección de elementos no utilizados).
En general, el mejor enfoque es intentar realizar la ejecución en Java 8 sin volver a compilar primero. Este enfoque pondrá en funcionamiento la aplicación lo más rápidamente posible. En el caso de una biblioteca, el objetivo será publicar un artefacto compilado y probado con JDK 8.
Fin de la vida útil (EOL) de Java 7
El soporte técnico de Community finalizará cuando Java 7 alcance el final de su vida útil el 29 de julio de 2022. Las aplicaciones que se ejecutan en Java 7 seguirán ejecutándose, pero el propio Java 7 no recibirá actualizaciones ni revisiones de seguridad. Para minimizar el riesgo y las posibles vulnerabilidades de seguridad, actualice las aplicaciones a Java 8 o 11 en función de los requisitos de carga de trabajo.
La guía canónica que se sigue es la Guía de migración de Oracle JDK. En la guía de migración se tratan todas las incompatibilidades en la especificación de Java y las incompatibilidades en la implementación de JDK. La mayoría de estas incompatibilidades son casos perimetrales y debe investigar cuando vea una advertencia o aparezca un error.
Ejecución en Java 8
La mayoría de las aplicaciones se deben ejecutar en Java 8 sin modificación alguna. Lo primero que debe intentar es realizar la ejecución en Java 8 sin volver a compilar el código. El motivo es ver qué advertencias y errores produce la ejecución. Con este enfoque se obtiene una
aplicación que se ejecutará en Java 8 más rápidamente, ya que se centra en el trabajo mínimo necesario.
Podrá resolver la mayor parte de los problemas que surjan sin tener que volver a compilar el código.
Si tiene que corregir un problema en el código, hágalo pero realice la compilación con JDK 7. Haga todo lo posible para que la aplicación se ejecute con la java
versión 8 antes de compilarla con JDK 8.
Compilación con Java 8
Es posible que la compilación con JDK 8 requiera que se actualicen los scripts de compilación, las herramientas, los marcos de pruebas y las bibliotecas incluidas. Use la opción -Xlint:unchecked
de javac
para obtener más información sobre el uso de la API interna de JDK y otras advertencias.
Migración de Java 7 para Azure App Service
Para migrar App Services de Java 7 a Java 8 u 11, inicie sesión en Azure Portal, vaya a las aplicaciones web que desee actualizar y, después, vaya a Configuración>Configuración>Configuración de la pila. Verá listas desplegables de las versiones principal y secundaria de Java, y la versión de Tomcat, si usa Tomcat. Seleccione Java 8 u 11. Recuerde que puede realizar este cambio de configuración en una ranura de implementación para probar de forma segura el cambio de configuración y, después, intercambiar el nuevo entorno a producción (Java 7 puede ocultarse para que los clientes no puedan usar dependencias de runtimes anteriores). Para más información, consulte Configuración de entornos de ensayo en Azure App Service.
Puede usar la configuración de la aplicación JAVA_TOOLS
si necesita especificar nuevas opciones del runtime, que se aplicarán cuando se inicie la aplicación. Para más información, consulte Configuración de una aplicación Java para Azure App Service. Para más información sobre las directivas de compatibilidad para runtimes en App Service, vea la sección Lenguajes y marcos integrados de la información general de App Service.
Pasos siguientes
Después de que la aplicación se ejecute en Java 8, se recomienda seguir la ruta de modernización de Java a Java 11 mediante las siguientes guías.