Solución de problemas con las transformaciones de Java - Amazon Q Developer

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.

Solución de problemas con las transformaciones de Java

La siguiente información puede ayudarle a solucionar problemas comunes al transformar aplicaciones Java con Amazon Q Developer.

¿Por qué Amazon Q no puede subir mi proyecto?

Si su proyecto no se puede cargar, es probable que se deba a uno de los siguientes problemas. Consulte el tema correspondiente al error que vea en Amazon Q.

Reducción del tamaño del proyecto

Para transformar el código, Amazon Q genera un artefacto del proyecto, que incluye el código de origen, las dependencias del proyecto y los registros de compilación. El tamaño máximo del artefacto del proyecto para un trabajo de transformación es de 2 GB. Si recibe un error relacionado con el tamaño del artefacto del proyecto, debe reducir el tamaño del proyecto o intentar transformar un proyecto más pequeño. Puede ver el tamaño del archivo del artefacto del proyecto en los registros de transformación de código. Para obtener más información, consulte ¿Cómo puedo acceder a los registros de transformación del código?

Configuración de los ajustes del proxy en su IDE

Para transformar el código, Amazon Q carga el artefacto del proyecto en un bucket de Amazon S3 propiedad del servicio. Parte del proceso de carga implica el uso de certificados SSL o TLS para establecer la comunicación entre Amazon S3 y su IDE. Si utiliza un servidor proxy, los certificados SSL o TLS utilizados por el servidor proxy deben ser de confianza; de lo contrario, Amazon Q no podrá cargar el proyecto.

Si recibe un error relacionado con su proxy o los certificados, probablemente necesite configurar su IDE o sistema operativo para que confíe en sus certificados o actualizar otros ajustes del proxy.

nota

Si está protegido por el servidor proxy o el firewall de su organización, también podrían surgir problemas no relacionados con los certificados. Si realiza los siguientes procedimientos para configurar los certificados y sigue teniendo problemas, póngase en contacto con el administrador de la red para asegurarse de que puede comunicarse con Amazon S3 desde su IDE. Para obtener más información, consulte Permiso para acceder a Amazon S3.

Configure los certificados en JetBrains

Para configurar su JetBrains Para que el IDE Java Runtime Environment (JRE) confíe en los certificados SSL o TLS utilizados por su servidor proxy, debe importar los certificados SSL o TLS al cacerts archivo del JRE. El archivo cacerts contiene certificados raíz de confianza para conexiones seguras, como HTTPS y SSL, y forma parte de la configuración de seguridad del JRE. Para importar un certificado, realice el siguiente procedimiento.

nota

Se recomienda hacer una copia de seguridad del archivo cacerts antes de modificarlo, ya que cualquier error puede provocar problemas con las conexiones seguras.

  1. Determine la ruta al archivo cacerts en su JRE. La ruta del cacerts archivo en el JRE interno que se envía con su JetBrains El IDE depende del sistema operativo y de la versión del JetBrains El IDE que esté utilizando.

    A continuación, se muestran ejemplos de rutas al archivo cacerts en los sistemas operativos más comunes. Seleccione su sistema operativo para ver ejemplos.

    nota

    <JetBrains Installation Folder>se refiere al directorio donde JetBrains los productos están instalados. Este directorio se elige normalmente durante el proceso de instalación.

    La jbr carpeta representa el JRE incluido JetBrains IDEs, que es una versión específica del JRE diseñada para su uso con JetBrains IDEs.

    Windows

    La ruta cacerts del archivo de un JetBrains El IDE instalado en Windows es:

    <JetBrains Installation Folder>\jbr\bin\cacerts

    Por ejemplo, si ha instalado un JetBrains El IDE en Windows en la ubicación predeterminada, la ruta podría ser:

    C:\Program Files\JetBrains\jbr\bin\cacerts
    macOS

    La ruta cacerts del archivo de un JetBrains El IDE instalado en macOS es:

    /Applications/JetBrains Toolbox/<version>/JetBrains Toolbox.app/Contents/jbr/Contents/Home/lib/security/cacerts

    Por ejemplo, si ha instalado un JetBrains IDE en macOS en la ubicación predeterminada, la ruta podría ser:

    /Applications/JetBrains Toolbox/2022.3.4/JetBrains Toolbox.app/Contents/jbr/Contents/Home/lib/security/cacerts
    Linux

    La ruta cacerts del archivo de un JetBrains El IDE instalado en Linux es:

    /opt/jetbrains/jbr/lib/security/cacerts
  2. Determine el certificado que necesita importar al archivo cacerts. El archivo de certificado suele tener una extensión de archivo .cer, .crt o .der. Si no está seguro de qué certificados debe agregar, póngase en contacto con el administrador de la red.

  3. Importe el certificado firmado al almacén de claves de cacerts. Puede hacerlo con el comando de keytool de Java.

    1. Abra un símbolo del sistema y escriba el comando siguiente:

      keytool -import -alias <alias> -file <certificate_file> -keystore <path_to_cacerts>
    2. Para <alias>, puede añadir un nombre al certificado que va a importar para consultarlo más adelante. Esta opción es opcional.

    3. Para <certificate_file>, especifique la ruta de acceso al certificado que va a importar. Debe ser una ruta al archivo .cer, .crt o .der que contiene el certificado.

    4. Para <path_to_cacerts>, especifique la ruta al archivo de almacén de claves de cacerts que guardó en el paso 1. Este es el archivo donde va a importar el certificado.

    Por ejemplo, si desea importar un certificado denominado my_certificate.cer al cacerts almacén de claves del JRE incluido en IntelliJ IDEA en Windows y desea asignar el alias myalias al certificado, el comando podría ser:

    keytool -import -alias myalias -file my_certificate.cer -keystore "C:\Program Files\JetBrains\IntelliJ IDEA 2022.3.2\jbr\bin\cacerts"
  4. Durante el proceso de importación, se le pedirá que introduzca la contraseña del almacén de claves. La contraseña predeterminada para el almacén de claves de cacerts es changeit.

  5. Tras ejecutar el comando, se le pedirá que confíe en el certificado. Para confirmar que el certificado es de confianza y completar la importación, introduzca yes.

  6. Es posible que también necesite agregar los certificados al propio IDE, además del JRE. Para obtener más información, consulte Certificados de servidor en la JetBrains .

Configure los certificados en Visual Studio Code

Para configurar Visual Studio Code para confiar en los certificados SSL o TLS que utiliza su servidor proxy, asegúrese de haber configurado los siguientes ajustes de proxy para su sistema operativo.

Configure los siguientes ajustes de proxy para Visual Studio Code en macOS.

Agregación de certificados a su llavero de macOS

Si aún no lo ha hecho, debe añadir los certificados que utiliza su servidor proxy a su macOS llavero. Para obtener información sobre cómo agregar certificados a su llavero, consulte Añadir certificados a un llavero mediante Acceso a Llaveros en el Mac en el Manual de uso de Acceso a Llaveros.

Instale la extensión CA VSCode para Mac

La VSCode extensión CA para Mac permite a Amazon Q acceder a los certificados que has añadido a Keychain Access en tu Mac.

Para instalar la extensión:

  1. Busca mac-ca-vscode en el VS Code panel de extensiones y selecciona Instalar.

  2. Restart (Reiniciar) VS Code.

Actualice la configuración del proxy en VS Code en macOS

Actualice la siguiente configuración para asegurarse VS Code está configurado correctamente para su proxy.

  1. Abra la configuración en VS Code.

  2. Escriba proxy en la barra de búsqueda.

  3. En el campo Http: Proxy, agregue la URL del proxy.

  4. Elimine la selección de Http: Proxy Strict SSL.

  5. En la lista desplegable Http: Proxy Support, seleccione activado.

  6. En la barra de búsqueda de configuración, introduzca http.experimental.systemCertificatesV2. Seleccione Http › Experimental: System Certificates V2.

Configure los siguientes ajustes de proxy para Visual Studio Code en Windows.

Agregación de certificado como certificado raíz de confianza en Windows

Si aún no lo ha hecho, debe agregar los certificados utilizados por su servidor proxy al almacén de entidades de certificación raíz de confianza en Windows. Para agregar un certificado, realice el siguiente procedimiento:

  1. Abra la herramienta de búsqueda o una ventana de comandos Ejecutar.

  2. Escriba los siguiente para abrir la herramienta del administrador de certificados:

    certmgr.msc
  3. Elija el almacén Entidades de certificación raíz de confianza.

  4. Haga clic con el botón derecho del ratón en Certificados, elija Todas las tareas y, a continuación, elija Importar….

  5. Siga las instrucciones que se indican para importar su certificado de proxy.

  6. Después de importar el certificado, confirme que se ha agregado.

    En el almacén de Entidades de certificación raíz de confianza, haga doble clic en Certificados. Haga clic con el botón derecho en el certificado que ha agregado y seleccione Propiedades. En Fines de certificado, debe seleccionarse la opción Habilitar todos los fines para este certificado.

Instale la extensión Win-CA VSCode

La VSCode extensión Win-CA permite a Amazon Q acceder a los certificados que ha añadido a los certificados raíz de confianza en Windows.

Para instalar la extensión:

  1. Busque en el win-ca VS Code panel de configuración.

  2. En la lista desplegable Inyectar, seleccione adjuntar.

Actualice la configuración del proxy en VS Code en Windows

Actualice la siguiente configuración para asegurarse VS Code está configurado correctamente para su proxy.

  1. Abra la configuración en VS Code.

  2. Escriba proxy en la barra de búsqueda.

  3. En el campo Http: Proxy, agregue la URL del proxy.

  4. Elimine la selección de Http: Proxy Strict SSL.

  5. En la lista desplegable Http: Proxy Support, seleccione activado.

  6. En la barra de búsqueda de configuración, introduzca http.experimental.systemCertificatesV2. Seleccione Http › Experimental: System Certificates V2.

  7. Restart (Reiniciar) VS Code.

Permiso para acceder a Amazon S3

Durante una transformación, Amazon Q carga el código en un bucket de Amazon S3 propiedad del servicio. Si su red u organización no ha configurado el acceso a Amazon S3, Amazon Q no podrá cargar el proyecto.

Para garantizar que Amazon Q pueda cargar el proyecto, asegúrese de que la configuración del proxy y otros componentes de la red, como las políticas de prevención de pérdida de datos (DLP), estén configurados para permitir el acceso a Amazon S3. Es posible que también deba incluir en la lista de permitidos el bucket de Amazon S3 donde Amazon Q carga el proyecto. Para obtener más información, consulte Perímetros de datos para los recursos de Amazon Q.

Si transforma un proyecto grande, las políticas de DLP u otros componentes de la red podrían provocar demoras e impedir que la carga se realice correctamente si no están configurados para incluir en la lista de permitidos el bucket de Amazon S3. Si decide no incluir el bucket en la lista, es posible que tenga que transformar un proyecto más pequeño para que Amazon Q pueda subirlo.

¿Por qué son mis Maven ¿Los comandos fallan?

Los siguientes son Maven problemas de configuración que pueden aparecer en el JetBrains y Visual Studio Code IDEs. Si abordas los problemas y sigues viendo Maven errores, es posible que haya un problema con tu proyecto. Utilice la información de los registros de errores para solucionar cualquier problema del proyecto y, a continuación, intente volver a transformar el proyecto.

Actualización Maven configuración en JetBrains

Si se produce un error en una transformación JetBrains debido a Maven problemas con los comandos, los registros de errores aparecen en la pestaña Ejecutar. Utilice la información de los registros para solucionar el problema. A continuación, se muestran algunos problemas que puede que tenga que abordar:

  • Asegúrese de que su Maven la ruta de inicio está configurada como Bundled. Vaya a Configuración y, a continuación, amplíe la sección Compilación, ejecución, implementación. Expanda la sección Herramientas de compilación y, a continuación, expanda Maven. En la lista desplegable de rutas de inicio de Maven, selecciona Empaquetado.

  • Asegúrese de que el Java el entorno de ejecución (JRE) utiliza el JDK de su proyecto. Vaya a Configuración y, a continuación, amplíe la sección Compilación, ejecución, implementación. Expandir Maveny elige Runner. En la lista desplegable de JRE, seleccione Usar JDK de proyecto.

  • Asegúrese de que Maven está activado. Vaya a Configuración y seleccione Complementos. Buscar Maven y elige el Maven el complemento. Si ve el botón Activar, selecciónelo para activarlo Maven.

Actualización Maven configuración en Visual Studio Code

Si se produce un error en una transformación VS Code debido a Maven problemas con los comandos, se abre un archivo de texto que contiene los registros de errores en una nueva pestaña. Utilice la información de los registros para solucionar el problema.

Asegúrese de haber configurado una de las siguientes opciones:

  • Su proyecto contiene un Maven contenedor en la carpeta raíz del proyecto

  • Una versión de Maven compatible con Amazon Q está disponible en su PATH

Para obtener más información, consulte ¿Cómo agrego Maven a mi PATH?

¿Cómo agrego Maven a mi PATH?

Para transformar tu código en VS Code sin usar un Maven envoltorio, debes instalar Maven y agréguelo a su PATH variable.

Para comprobar si tienes Maven si ya está instalado correctamente, ejecútelo mvn -v en un nuevo terminal de sistema operativo fuera de Visual Studio Code. Deberías ver una salida con tu Maven versión.

Si obtiene un resultado en su Visual Studio Code terminal pero no en la terminal de su sistema operativo, o si no encuentra el comando, debe agregar Maven a tuPATH.

Para añadir Maven a la suyaPATH, siga las instrucciones de su máquina.

macOS

Para añadir Maven en tu macOSPATH, sigue estos pasos.

  1. Localiza tu Maven el directorio de instalación o la carpeta en la que lo instaló Maven, y guarde la ruta de acceso a esa carpeta.

  2. Abra el archivo de configuración del intérprete de comandos en el editor que prefiera. Para las versiones recientes de macOS, el intérprete de comandos predeterminado es zsh y el archivo de configuración predeterminado se encuentra en ~/.zshrc.

    Agregue las siguientes líneas en la parte inferior del archivo de configuración. Defina el valor de M2_HOME a la ruta que guardó en el paso 1:

    export M2_HOME="your Maven installation directory" export PATH="${M2_HOME}/bin:${PATH}"

    Estos comandos hacen que el comando mvn esté disponible en todos los terminales.

  3. Cierre todas las ventanas de los terminales del sistema operativo y cierre todas Visual Studio Code instancias.

  4. Para comprobar que Maven se agregó a la suyaPATH, abra una nueva terminal del sistema operativo y ejecute el siguiente comando:

    mvn -v

    Deberías ver un resultado con tu Maven versión.

  5. Después de ver tu Maven salida, reinicia Visual Studio Code. Es posible que también tenga que reiniciar el equipo. Abre una nueva Visual Studio Code terminal y ejecuta el siguiente comando:

    mvn -v

    El resultado debe ser idéntico al del paso 4. Si el archivo de Visual Studio Code el resultado es diferente, intente lo siguiente para asegurarse de que la configuración es correcta:

    • Marque su PATH variable en Visual Studio Code. Una extensión IDE podría estar alterando la variable de PATH tal manera que se diferencie de la PATH variable local. Desinstale la extensión para eliminarla de su PATH.

    • Comprueba tu shell predeterminado en Visual Studio Code. Si está configurado en algo diferente azsh, repite estos pasos para tu caparazón.

Windows

Para añadir Maven a tu Windows PATH, complete los siguientes pasos:

  1. Localice su Maven el directorio de instalación o la carpeta en la que lo instaló Maven, y guarde la ruta de acceso a esa carpeta.

  2. Abra la ventana Variables de entorno:

    1. Elija el icono Windows botón para abrir la barra de búsqueda.

    2. Introduzca Edit environment variables for your account y elíjalo.

  3. En la ventana Variables de entorno, busque la variable de ruta. Si ya tiene una variable de ruta, elija Editar... para actualizarla. Si no ve ninguna variable de ruta, elija Nueva... para añadir una.

  4. En la ventana Editar variable de entorno que aparece, haga doble clic en la ruta existente para editarla o seleccione Nueva para agregar una nueva entrada de ruta.

    Sustituya el existente Maven la entrada de ruta por la ruta que guardó en el paso 1 o añada la ruta como una entrada nueva. Al final de la ruta, añada \bin como sufijo, como en el siguiente ejemplo:

    C:\Users\yourusername\Downloads\apache-maven-3.9.6-bin\apache-maven-3.9.6\bin
  5. Pulse Aceptar para guardar la entrada de la ruta y, a continuación, vuelva a elegir Aceptar en la ventana Variables de entorno.

  6. Abra un nuevo símbolo del sistema y ejecute el siguiente comando:

    mvn -v

    Deberías ver una salida con tu Maven versión.

¿Por qué Amazon Q no puede compilar mi código?

Si la transformación falla cuando Amazon Q está compilando el código, es posible que el proyecto no esté configurado correctamente para el entorno en el que Amazon Q compila el código. Es posible que necesite actualizar la configuración de compilación o la implementación del código.

Revise el resultado del registro de compilación que proporciona Amazon Q para determinar si hay cambios que pueda realizar en su proyecto. A continuación, se muestran algunos problemas comunes que pueden impedir que Amazon Q compile el código.

Eliminación de las rutas absolutas en pom.xml

Si tiene una ruta absoluta en el archivo pom.xml, Amazon Q no podrá encontrar los archivos relevantes y, por consiguiente, es posible que no pueda compilar el código.

A continuación se muestra un ejemplo de una ruta absoluta que podría tener en su archivo pom.xml:

<toolspath> <path>/Library/Java/JavaVirtualMachines/jdk-11.0.11.jdk/Contents/Home/lib/tools.jar</path> </toolspath>

En lugar de utilizar una ruta absoluta, puede crear una ruta relativa con un puntero. A continuación se muestra un ejemplo de cómo puede sustituir la ruta absoluta anterior por una ruta relativa:

<toolspath> <path>${java.home}/../lib/tools.jar</path> </toolspath>

Eliminación de las bases de datos locales o externas en las pruebas unitarias

Amazon Q ejecuta todas las pruebas unitarias del proyecto cuando compila el código. Si una prueba unitaria llama a una base de datos local o externa, Amazon Q no tendrá acceso a la base de datos, lo que provocará un error en la compilación. Para evitar que la compilación falle, debe eliminar la llamada a la base de datos de la prueba unitaria o eliminar la prueba unitaria antes de enviar la transformación.

¿Por qué ha fallado mi transformación después de 55 minutos?

Si el trabajo de transformación de código falla después de 55 minutos, es probable que el tiempo de compilación del código supere el límite de tiempo de compilación. Actualmente, existe un límite de tiempo de 55 minutos para compilar el código.

Si el tiempo de compilación local es de 55 minutos o más, reduzca el tiempo de compilación del proyecto para transformar el código. Si la compilación local es más rápida que la compilación con Transformación de código, revise el proyecto para ver si hay tareas que puedan estar fallando o que requieran más tiempo en un entorno diferente. Plantéese la posibilidad de deshabilitar los casos de prueba de larga duración. Plantéese también la posibilidad de utilizar los tiempos de espera para intentar acceder a recursos que podrían no estar disponibles en el entorno IDE seguro o en Internet.

¿Por qué no puedo descargar el código transformado?

Si no puede descargar el código una vez completada la transformación, es probable que se deba a uno de los siguientes problemas. Consulte el tema correspondiente al error que vea en Amazon Q.

Reducción del tamaño del proyecto

Una vez completada la transformación, Amazon Q genera un artefacto de salida que contiene una diferencia con el código actualizado y un resumen de la transformación con información sobre los cambios realizados. El artefacto de salida debe tener 1 GB o menos para que el IDE lo descargue.

Si el artefacto de salida supera el límite, no podrá descargar el código actualizado o el resumen de la transformación. Intente transformar un proyecto más pequeño para evitar que se produzca un artefacto de gran tamaño. Si el problema persiste, ponte en contacto con Soporte. Para obtener información sobre cómo ponerse en contacto Soporte con Amazon Q, consulteUso de Amazon Q Developer para chatear con Soporte.

Descarga de diferencias del código en 24 horas

El archivo de diferencias del código con el código actualizado solo estará disponible durante 24 horas después de que se complete la transformación. Si han pasado más de 24 horas desde que se completó la transformación, reiníciela para descargar el archivo de diferencias.

Configuración de los ajustes del proxy en su IDE

Amazon Q descarga el código actualizado de un bucket de Amazon S3 propiedad del servicio. Parte del proceso de descarga implica el uso de certificados SSL o TLS para establecer la comunicación entre Amazon S3 y su IDE. Si utiliza un servidor proxy, los certificados SSL o TLS utilizados por el servidor proxy deben ser de confianza; de lo contrario, Amazon Q no podrá cargar el proyecto.

Para descargar el código, puede que tenga que configurar el IDE para que confíe en los certificados o actualizar otras configuraciones del proxy. Para obtener más información sobre la actualización de la configuración del proxy, consulte Configuración de los ajustes del proxy en su IDE.

Elimine los caracteres comodín en JetBrains configuración de proxy

Si ha configurado los ajustes de proxy en su JetBrains IDE, es posible que aparezca el siguiente error al descargar el código actualizado:

software.amazon.awssdk.core.exception.SdkClientException: Unable to execute HTTP request: Dangling meta character '*' near index 0

Es probable que esto se deba a la presencia de un carácter comodín (*) en el campo No hay proxy para de la configuración del proxy del IDE. El SDK de Java que utiliza Amazon Q no admite entradas comodín en este campo.

Para descargar el código, elimine los caracteres comodín del campo No hay proxy para y, a continuación, reinicie el IDE. Si necesita especificar los hosts que debe omitir el proxy, utilice una expresión regular en lugar de un comodín. Para actualizar la configuración del proxy en su JetBrains IDE, consulte HTTP Proxy en el JetBrains .

¿Cómo puedo acceder a los registros de transformación del código?

Access inicia sesión JetBrains

Para obtener información sobre cómo acceder JetBrains archivos de registro, consulte Localización de los archivos de registro del IDE en JetBrains .

Para buscar los registros emitidos por Amazon Q en JetBrains, busque en los registros del IDE la siguiente cadena:

software.aws.toolkits.jetbrains.services.codemodernizer

Los registros de transformación de código comienzan con la cadena anterior. Registros generados por Maven se muestran en la pestaña Ejecutar y tienen la cadena anterior antes y después de la entrada del registro.

Access inicia sesión Visual Studio Code

Para buscar los registros emitidos por Amazon Q en VS Code, complete los siguientes pasos:

  1. Elija Ver en la barra de navegación superior y, a continuación, elija Paleta de comandos.

  2. Busque Amazon Q: View Logs en la paleta de comandos que aparece.

  3. Los registros se abren en el IDE. Para buscar los archivos de registro de CodeTransformation, utilice CMD + F o Control + F.

La transformación de código inicia sesión VS Code llevan el prefijo. CodeTransformation: A continuación se muestra un ejemplo de un registro generado en VS Code para un Maven error de copia de dependencias:

2024-02-12 11:29:16 [ERROR]: CodeTransformation: Error in running Maven copy-dependencies command mvn = /bin/sh: mvn: command not found

¿Cómo puedo encontrar mi ID de trabajo de transformación?

Encuentra tu ID de trabajo en JetBrains

Para encontrar un identificador de trabajo de transformación en JetBrains, vaya a la pestaña Detalles de la transformación en el Centro de Transformaciones y elija el icono Mostrar estado del trabajo (reloj).

Busque su ID de trabajo en Visual Studio Code

Para encontrar el ID de un trabajo de transformación en VS Code, vaya al Centro de transformación y elija el icono Mostrar estado del trabajo (reloj).