Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Cómo transforma Amazon Q Developer el código para las actualizaciones del lenguaje Java
Para transformar el código, el desarrollador de Amazon Q genera un plan de transformación que utiliza para actualizar la versión del lenguaje de código del proyecto. Después de transformar el código, proporciona un resumen de la transformación y las diferencias de los archivos para que pueda revisar los cambios antes de aceptarlos. Dado que Amazon Q Developer realiza los cambios mínimos necesarios para que el código actualizado sea compatible con el JDK de destino, es necesaria una transformación adicional para actualizar las bibliotecas y dependencias del proyecto. En las siguientes secciones, se proporcionan más detalles sobre cómo Amazon Q realiza la transformación.
Compilación del código y creación de un plan de transformación
Para empezar a transformar el código, Amazon Q compila el proyecto de forma local y genera un artefacto de compilación que contiene el código de origen, las dependencias del proyecto y los registros de compilación.
Tras generar el artefacto de compilación, Amazon Q compila el código en un entorno de compilación seguro y crea un plan de transformación, que se personaliza para el proyecto o módulo que vaya a actualizar. El plan de transformación describe los cambios específicos que Amazon Q intentará realizar, incluidas las nuevas versiones de las dependencias, los principales cambios de código y las sustituciones sugeridas para el código en desuso. Estos cambios se basan en la versión preliminar del código y pueden cambiar durante la transformación.
Transformación del código
Para transformar el código, Amazon Q intenta actualizarlo a la versión Java de destino en función de los cambios propuestos en el plan de transformación. A medida que realiza los cambios, vuelve a compilar y ejecuta las pruebas unitarias existentes en el código de origen para corregir de forma iterativa los errores encontrados. La actualización del JDK se puede realizar desde la siguiente versión del código fuente a la versión de destino:
-
Java 8 a 17
-
Java 8 a 21
-
Java 11 a 17
-
Java 11 a 21
-
Java 17 a 21
Amazon Q realiza los cambios mínimos necesarios para que el código sea compatible con la versión de Java de destino. Después de actualizar correctamente a Java 17 o 21. Una vez que Amazon Q realice una actualización mínima de JDK, puede iniciar una transformación independiente para actualizar todas las dependencias de terceros. Como alternativa, puede especificar las dependencias de terceros y sus versiones en un archivo YAML para actualizar únicamente esas dependencias durante la transformación de la actualización de la biblioteca.
Amazon Q intenta realizar los siguientes cambios al actualizar el código:
-
Actualice los componentes de código obsoletos de acuerdo con las recomendaciones de la versión de Java de destino
-
Actualice las bibliotecas y los marcos más populares a una versión compatible con la versión de Java de destino. Esto incluye la actualización de las siguientes bibliotecas y marcos a sus últimas versiones principales disponibles:
-
Apache Commons IO
-
Apache HttpClient
-
bc-fips
-
Cucumber-JVM
-
Hibernar
-
jackson-annotations
-
JakartaEE
-
Javax
-
javax.servlet
-
jaxb-api
-
jaxb-impl
-
jaxen
-
jcl-over-slf4j
-
JSON simple
-
jsr305
-
junit
-
junit-jupiter-api
-
Log4j
-
Micronaut
-
Mockito
-
mockito-core
-
Okio
-
PowerMockito
-
Quarkus
-
slf4j
-
slf4j-api
-
Spring Boot
-
Spring Framework
-
Spring Security
-
Swagger
-
testng
-
nota
No apague ni cierre la máquina local durante la transformación del código, ya que la compilación del lado del cliente requiere una conexión de red estable.
Cree código en su entorno local
Durante una transformación, Amazon Q realiza compilaciones de verificación en su entorno local. Amazon Q transforma el código del servidor en varios pasos. Después de cada paso, Amazon Q envía el código a su entorno local para compilar y probar los cambios que ha realizado. A continuación, el código se devuelve al servidor para continuar con la transformación.
La compilación en su entorno local ayuda a verificar el código transformado al permitir que Amazon Q ejecute pruebas que requieren acceso a recursos privados. Para minimizar los riesgos de seguridad asociados a la creación de código generado por IA en su entorno local, Amazon Q revisa y actualiza el código que genera para abordar los problemas de seguridad.
Revisión del resumen de la transformación y aceptación de los cambios
Una vez completada la transformación, Amazon Q proporciona un resumen de la transformación con detalles sobre los cambios que ha realizado, incluido el estado de la compilación final, que indica si se ha actualizado todo el proyecto. También puede ver un resumen del registro de compilación para comprender los problemas que impidieron que Amazon Q compilara su código en la versión actualizada.
El resumen de la transformación también incluye las diferencias entre los cambios propuestos en el plan de transformación y los cambios que Amazon Q ha realizado finalmente para actualizar el código, así como cualquier cambio adicional que no estuviera en el plan original.
Tras revisar el resumen de la transformación, podrá ver los cambios que Amazon Q propone en una vista con diferencias de los archivos. Los cambios de código que Amazon Q sugiera no afectarán a los archivos del proyecto actual hasta que los acepte. El código transformado está disponible hasta 30 días después de que se complete la transformación.
Finalización de transformaciones parcialmente correctas
Según la complejidad y las características específicas de la base de código, es posible que haya casos en los que la transformación se realice correctamente de forma parcial. Esto significa que Amazon Q solo ha podido transformar determinados archivos o áreas de código del proyecto. En este caso, debe actualizar manualmente el código restante para que el proyecto se pueda compilar en la versión de idioma actualizada.
Para ayudar a transformar el resto del código, puede usar el chat de Amazon Q en el IDE. Puede pedir a Amazon Q que revise los archivos parcialmente actualizados y que proporcione un código nuevo para solucionar problemas, como los errores de compilación. También puede utilizar características como /dev y@workspace para incluir más aspectos de su proyecto como contexto y obtener sugerencias para varios archivos a la vez.