Solução de problemas com transformações Java - Amazon Q Developer

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Solução de problemas com transformações Java

As informações a seguir podem ajudá-lo a solucionar problemas comuns ao transformar aplicativos Java com o Amazon Q Developer.

Por que o Amazon Q não consegue fazer o upload do meu projeto?

Se o upload do projeto falhar, é provável que seja por um dos problemas a seguir. Veja o tópico que corresponde ao erro que você vê no Amazon Q.

Reduzir o tamanho do projeto

Para transformar seu código, o Amazon Q gera um artefato de projeto, que inclui seu código-fonte, dependências do projeto e logs de construção. O tamanho máximo do artefato do projeto para uma tarefa de transformação é de 2 GB. Se você receber um erro relacionado ao tamanho do artefato do projeto, deverá diminuir o tamanho do seu projeto ou tentar transformar um projeto menor. Você pode visualizar o tamanho do arquivo de artefato do seu projeto nos logs de transformação de código. Para obter mais informações, consulte Como faço para acessar os logs de transformação de código?.

Defina as configurações de proxy no IDE

Para transformar seu código, o Amazon Q carrega o artefato do seu projeto em um bucket Amazon S3 de propriedade do serviço. Parte do processo de upload envolve o uso de certificados SSL ou TLS para estabelecer comunicação entre o Amazon S3 e seu IDE. Se você estiver usando um servidor proxy, os certificados SSL ou TLS usados pelo seu servidor proxy devem ser confiáveis, caso contrário, a Amazon Q não poderá carregar seu projeto.

Se você receber um erro relacionado ao seu proxy ou certificados, provavelmente precisará configurar seu IDE ou sistema operacional para confiar em seus certificados ou atualizar outras configurações de proxy.

nota

Você também pode encontrar problemas não relacionados aos certificados se estiver protegido pelo servidor proxy ou firewall da sua organização. Se você concluir os procedimentos a seguir para configurar seus certificados e ainda tiver problemas, entre em contato com o administrador da rede para garantir que você tenha permissão para se comunicar com o Amazon S3 a partir do seu IDE. Para obter mais informações, consulte Permitir acesso ao Amazon S3.

Configurar certificados em JetBrains

Para configurar seu JetBrains IDE Java Runtime Environment (JRE) para confiar nos certificados SSL ou TLS usados pelo seu servidor proxy, você deve importar os certificados SSL ou TLS para o cacerts arquivo no JRE. O cacerts arquivo contém certificados raiz confiáveis para conexões seguras, como HTTPS e SSL, e faz parte das configurações de segurança do JRE. Para importar um certificado, realize o procedimento a seguir.

nota

Recomendamos fazer um backup do cacerts arquivo antes de modificá-lo, pois qualquer erro pode causar problemas com conexões seguras.

  1. Determine o caminho para o cacerts arquivo no seu JRE. O caminho do cacerts arquivo no JRE interno fornecido com seu JetBrains IDE depende do sistema operacional e da versão do JetBrains IDE que você está usando.

    Veja a seguir exemplos de caminhos para o cacerts arquivo em sistemas operacionais comuns. Escolha seu sistema operacional para ver exemplos.

    nota

    <JetBrains Installation Folder> refere-se ao diretório em que os produtos JetBrains são instalados. Esse diretório geralmente é escolhido durante o processo de instalação.

    A jbr pasta representa o JRE incluído JetBrains IDEs, que é uma versão específica do JRE personalizada para uso com. JetBrains IDEs

    Windows

    O caminho cacerts do arquivo para um JetBrains IDE instalado no Windows é:

    <JetBrains Installation Folder>\jbr\bin\cacerts

    Por exemplo, se você instalou um JetBrains IDE no Windows no local padrão, o caminho pode ser:

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

    O caminho cacerts do arquivo para um JetBrains IDE instalado no macOS é:

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

    Por exemplo, se você instalou um JetBrains IDE no macOS no local padrão, o caminho pode ser:

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

    O caminho cacerts do arquivo para um JetBrains IDE instalado no Linux é:

    /opt/jetbrains/jbr/lib/security/cacerts
  2. Determine o certificado que você precisa importar para o cacerts arquivo. O arquivo de certificado geralmente tem uma extensão de arquivo .cer, .crt ou .der. Se você não tiver certeza de quais certificados precisa adicionar, entre em contato com o administrador da rede.

  3. Importe o certificado assinado para o cacerts keystore. Isto pode ser feito com o Comando keytool do Java.

    1. Abra um prompt de comando e execute o comando a seguir:

      keytool -import -alias <alias> -file <certificate_file> -keystore <path_to_cacerts>
    2. Para <alias>, você pode adicionar um nome para o certificado que está importando para consultá-lo posteriormente. Esta opção é opcional.

    3. Para <certificate_file>, especifique o caminho para o certificado que você está importando. Esse deve ser um caminho para os arquivos .cer, .crt ou .der contendo o certificado.

    4. Para <path_to_cacerts>, especifique o caminho para o arquivo cacerts keystore que você salvou na etapa 1. Esse é o arquivo para o qual você está importando o certificado.

    Por exemplo, se você quiser importar um certificado nomeado my_certificate.cer para o cacerts repositório de chaves do JRE empacotado IntelliJ IDEA no Windows e quiser dar o alias myalias ao certificado, o comando pode ser:

    keytool -import -alias myalias -file my_certificate.cer -keystore "C:\Program Files\JetBrains\IntelliJ IDEA 2022.3.2\jbr\bin\cacerts"
  4. Durante o processo de importação, você será solicitado a inserir a senha do keystore. A senha padrão para o cacerts keystore échangeit.

  5. Depois de executar o comando, você deverá confiar no certificado. Para confirmar se o certificado é confiável e concluir a importação, insira yes.

  6. Talvez você também precise adicionar os certificados ao próprio IDE, além do JRE. Para obter mais informações, consulte Certificados de servidor, na documentação do JetBrains.

Configurar certificados em Visual Studio Code

Para configurar Visual Studio Code para confiar nos certificados SSL ou TLS usados pelo seu servidor proxy, certifique-se de ter definido as seguintes configurações de proxy para seu sistema operacional.

Defina as seguintes configurações de proxy para Visual Studio Code macOS.

Adicione certificados ao seu chaveiro do macOS

Se ainda não o fez, você deve adicionar os certificados usados pelo seu servidor proxy ao seu macOS chaveiro. Para obter informações sobre como adicionar certificados ao seu chaveiro, consulte Adicionar certificados a um chaveiro usando o Keychain Access no Mac no Guia do usuário do Keychain Access.

Instale a VSCode extensão Mac CA

A VSCode extensão Mac CA permite que o Amazon Q acesse os certificados que você adicionou ao Keychain Access no seu Mac.

Como instalar a extensão:

  1. Pesquise mac-ca-vscode no painel VS Code de extensões e escolha Instalar.

  2. Reinicie o VS Code.

Atualize as configurações de proxy VS Code no macOS

Atualize as configurações a seguir para garantir que VS Code estejam configuradas corretamente para seu proxy.

  1. Abra as configurações no VS Code.

  2. Insira proxy na barra de pesquisa.

  3. No campo Http: Proxy, adicione sua URL de proxy.

  4. Desmarque Http: Proxy Strict SSL.

  5. Na lista suspensa Http: Proxy Support, escolha Ativar.

  6. Na barra de pesquisa, insira http.experimental.systemCertificatesV2. Selecione Http › Experimental: Certificados do sistema V2.

Defina as seguintes configurações de proxy para Visual Studio Code Windows.

Adicionar certificado como certificado raiz confiável no Windows

Se ainda não o fez, você deve adicionar os certificados usados pelo seu servidor proxy à sua loja de Autoridades de Certificação Raiz Confiáveis no Windows. Para adicionar um certificado, realize o procedimento a seguir:

  1. Abra a ferramenta de pesquisa ou uma janela de comando Executar.

  2. Digite o seguinte comando para abrir a ferramenta CA:

    certmgr.msc
  3. Escolha a loja Autoridades de Certificação Raiz Confiáveis.

  4. Clique com o botão direito do mouse em Certificados e escolha Todas as tarefas, Importar.

  5. Siga as instruções fornecidas para importar seu certificado de proxy.

  6. Depois de importar seu certificado, confirme se o certificado foi adicionado.

    Na loja Autoridades de certificação raiz confiáveis, clique duas vezes em Certificados. Clique com o botão direito do mouse no certificado que você adicionou e escolha Propriedades. Em Objetivos do certificado, a opção Habilitar todas as finalidades para este certificado deve ser selecionada.

Instale a extensão Win-CA VSCode

A VSCode extensão Win-CA permite que a Amazon Q acesse os certificados que você adicionou aos certificados raiz confiáveis no Windows.

Como instalar a extensão:

  1. Pesquise win-ca no painel VS Code de configurações.

  2. Na lista suspensa Injetar, escolha acrescentar.

Atualize as configurações de proxy VS Code no Windows

Atualize as configurações a seguir para garantir que VS Code estejam configuradas corretamente para seu proxy.

  1. Abra as configurações no VS Code.

  2. Insira proxy na barra de pesquisa.

  3. No campo Http: Proxy, adicione sua URL de proxy.

  4. Desmarque Http: Proxy Strict SSL.

  5. Na lista suspensa Http: Proxy Support, escolha Ativar.

  6. Na barra de pesquisa, insira http.experimental.systemCertificatesV2. Selecione Http › Experimental: Certificados do sistema V2.

  7. Reinicie o VS Code.

Permitir acesso ao Amazon S3

Durante uma transformação, o Amazon Q carrega seu código em um bucket Amazon S3 de propriedade do serviço. Se sua rede ou organização não tiver configurado o acesso ao Amazon S3, o Amazon Q não poderá carregar seu projeto.

Para garantir que o Amazon Q possa carregar seu projeto, certifique-se de que sua configuração de proxy e outros componentes de rede, como políticas de prevenção de perda de dados (DLP), estejam configurados para permitir o acesso ao Amazon S3. Talvez também seja necessário incluir na lista de permissões o bucket do Amazon S3 onde o Amazon Q faz upload o projeto. Para obter mais informações, consulte Bucket do Amazon S3 URLs e para a lista de permissões ARNs .

Se você transformar um projeto grande, as políticas de DLP ou outros componentes de rede podem causar atrasos e impedir um upload bem-sucedido se não estiverem configurados para permitir o bucket do Amazon S3. Se você optar por não colocar o bucket na lista de permissões, talvez seja necessário transformar um projeto menor para que o Amazon Q possa carregá-lo.

Por que meus Maven comandos estão falhando?

A seguir estão os problemas de Maven configuração que você pode ver no JetBrains Visual Studio Code IDEs e. Se você tratar os problemas e ainda encontrar Maven erros, pode haver um problema com o projeto. Use as informações nos logs de erros para resolver quaisquer problemas com seu projeto e tente transformá-lo novamente.

Atualizar configuração Maven no JetBrains

Se uma transformação falhar no JetBrains devido a problemas de comando do Maven, os logs de erros aparecerão na guia Executar. Use as informações nos logs para tratar o problema. A seguir estão alguns problemas que talvez você precise resolver:

  • Certifique-se de que seu caminho Maven inicial esteja definido como Agrupado. Na caixa de diálogo Configurações, expanda a seção Construção, Execução, Implantação. Expanda a seção Ferramentas de construção e, em seguida, expanda o Maven. Na lista suspensa do caminho inicial do Maven, escolha Empacotado.

  • Certifique-se de que o ambiente Java de tempo de execução (JRE) esteja usando o JDK do seu projeto. Na caixa de diálogo Configurações, expanda a seção Construção, Execução, Implantação. Expanda o Maven e escolha Runner. Na lista suspensa do JRE, escolha Usar Projeto JDK.

  • Certifique-se de que o Maven esteja habilitado. Vá para Configurações e escolha Plugins. Pesquise Maven e escolha o Maven plugin. Caso veja um botão Ativar, escolha-o para ativar Maven.

Atualizar configuração Maven no Visual Studio Code

Se uma transformação falhar no VS Code devido a problemas de comando do Maven, um arquivo de texto que contém os logs de erros será aberto em uma nova guia. Use as informações nos logs para tratar o problema.

Certifique-se de que você configurou uma das opções a seguir:

  • Seu projeto contém um Maven invólucro na pasta raiz do projeto

  • Uma versão do Maven compatível com o Amazon Q está disponível em seu PATH

Para obter mais informações, consulte Como faço para adicionar o Maven ao meu PATH?.

Como faço para adicionar o Maven ao meu PATH?

Para transformar seu código VS Code sem usar um Maven wrapper, você deve instalá-lo Maven e adicioná-lo à sua PATH variável.

Para verificar se você já Maven instalou corretamente, execute mvn -v em um novo terminal de sistema operacional fora do Visual Studio Code. Você deve ver uma saída com sua Maven versão.

Se você receber uma saída no seu terminal Visual Studio Code, mas não no terminal do sistema operacional, ou se o comando não for encontrado, você precisará adicionar Maven ao seu PATH.

Para adicionar Maven ao seu PATH, siga as instruções da sua máquina.

macOS

Para adicionar Maven ao seu macOS PATH, conclua as etapas a seguir.

  1. Localize seu diretório de Maven instalação ou a pasta em que você Maven instalou e salve o caminho para essa pasta.

  2. Abra o arquivo de configuração do shell com seu editor de preferência. Para versões recentes do macOS, o shell padrão é zsh e o arquivo de configuração padrão está localizado em ~/.zshrc.

    Adicione a seguinte linha ao arquivo de configuração. Defina o valor do M2_HOME caminho que você salvou na etapa 1:

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

    Esses comandos tornam o mvn comando disponível em todos os terminais.

  3. Feche todas as janelas do terminal do sistema operacional e saia de todas as Visual Studio Code instâncias.

  4. Para verificar se Maven foi adicionado ao seu PATH, abra um novo terminal do sistema operacional e execute o seguinte comando:

    mvn -v

    Você deve ver uma saída com sua Maven versão.

  5. Depois de ver sua Maven saída, reinicie o Visual Studio Code. Talvez também seja necessário reiniciar o computador. Abra um novo terminal do Visual Studio Code e execute o seguinte comando:

    mvn -v

    A saída deve ser idêntica à saída na etapa 4. Se a Visual Studio Code saída for diferente, tente o seguinte para verificar se a configuração está correta:

    • Verifique sua variável PATH em Visual Studio Code. Uma extensão do IDE pode estar alterando o de PATH forma que seja diferente da sua PATH variável local. Desinstale a extensão para removê-la do seu PATH.

    • Verifique seu shell padrão em Visual Studio Code. Se estiver configurado para algo diferente de zsh, repita essas etapas para seu shell.

Windows

Para adicionar Maven ao Windows PATH, conclua as etapas a seguir:

  1. Localize seu diretório de Maven instalação ou a pasta em que você Maven instalou e salve o caminho para essa pasta.

  2. Abra a janela Variáveis de ambiente:

    1. Escolha o Windows botão para abrir a barra de pesquisa.

    2. Insira Edit environment variables for your account e o selecione.

  3. Na janela Variáveis de ambiente, procure a variável Path. Se você já tiver uma variável Path, escolha Editar... para atualizá-lo. Se você não vê uma variável Path, escolha Novo... para adicionar um.

  4. Na janela Editar variável de ambiente exibida, clique duas vezes no caminho existente para editá-lo ou escolha Novo para adicionar uma nova entrada de caminho.

    Substitua a entrada do Maven caminho existente pelo caminho que você salvou na etapa 1 ou adicione o caminho como uma nova entrada. No final do caminho, adicione \bin como sufixo, como no exemplo a seguir:

    C:\Users\yourusername\Downloads\apache-maven-3.9.6-bin\apache-maven-3.9.6\bin
  5. Escolha OK para salvar a entrada do caminho e, em seguida, escolha OK novamente na janela Variáveis de ambiente.

  6. Abra um novo prompt de comando e execute o comando a seguir:

    mvn -v

    Você deve ver uma saída com sua Maven versão.

Por que o Amazon Q não consegue criar meu código?

Se a transformação falhar quando o Amazon Q estiver criando seu código, seu projeto pode não estar configurado adequadamente para o ambiente em que o Amazon Q cria seu código. Talvez seja necessário atualizar a configuração de compilação ou a implementação do código.

Analise a saída do log de compilação que o Amazon Q fornece para determinar se há alterações que você pode fazer no seu projeto. A seguir estão alguns problemas comuns que podem impedir o Amazon Q de criar seu código.

Remova caminhos absolutos em pom.xml

Se você tiver um caminho absoluto em seu arquivo pom.xml, a Amazon Q não conseguirá encontrar os arquivos relevantes e, como resultado, talvez não consiga criar seu código.

A seguir está um exemplo de um caminho absoluto que você poderia ter em seu pom.xml arquivo:

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

Em vez de usar um caminho absoluto, você pode criar um caminho relativo usando um ponteiro. Veja a seguir um exemplo de como você pode substituir o caminho absoluto anterior por um caminho relativo:

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

Remova bancos de dados locais ou externos em testes de unidade

O Amazon Q executa qualquer teste de unidade em seu projeto ao criar seu código. Se um teste unitário chamar um banco de dados local ou externo, o Amazon Q não terá acesso ao banco de dados, fazendo com que a compilação falhe. Para evitar que a compilação falhe, você deve remover a chamada do banco de dados do teste de unidade ou remover o teste de unidade antes de enviar a transformação.

Por que minha transformação falhou após 55 minutos?

Se seu trabalho de transformação de código falhar após 55 minutos, o tempo de criação do código provavelmente excederá o limite de tempo de compilação. Atualmente, há um limite de tempo de 55 minutos para criar seu código.

Se o tempo de compilação local demorar 55 minutos ou mais, reduza o tempo de compilação do seu projeto para transformar seu código. Se sua compilação local for mais rápida do que a compilação com a transformação de código, verifique se há tarefas que possam estar falhando ou demorando mais em um ambiente diferente. Considere desativar casos de teste de longa duração. Considere também usar tempos limite para tentativas de acessar recursos que podem não estar disponíveis no ambiente de IDE seguro ou na Internet.

Por que não consigo baixar meu código transformado?

Se você não conseguir baixar o código após a conclusão da transformação, é provável que seja por um dos problemas a seguir. Veja o tópico que corresponde ao erro que você vê no Amazon Q.

Reduzir o tamanho do projeto

Depois que a transformação for concluída, o Amazon Q gera um artefato de saída que contém uma diferença com seu código atualizado e um resumo da transformação com informações sobre as alterações feitas. O artefato de saída deve ter 1 GB ou menos para que o IDE possa baixá-lo.

Se o artefato de saída exceder o limite, não será possível baixar o código atualizado ou o resumo da transformação. Tente transformar um projeto menor para evitar um grande artefato de saída. Se o problema persistir, entre em contato com Suporte. Para obter informações sobre como entrar em contato Suporte com a Amazon Q, consulteUsando o Amazon Q Developer para conversar com Suporte.

Faça o download do código diff em 30 dias

O arquivo de comparação de código com seu código atualizado só estará disponível por 30 dias após a conclusão da transformação. Se já passaram mais de 30 dias desde a conclusão da transformação, reinicie a transformação para baixar o arquivo diff.

Defina as configurações de proxy no IDE

O Amazon Q baixa seu código atualizado de um bucket Amazon S3 de propriedade do serviço. Parte do processo de download envolve o uso de certificados SSL ou TLS para estabelecer comunicação entre o Amazon S3 e seu IDE. Se você estiver usando um servidor proxy, os certificados SSL ou TLS usados pelo seu servidor proxy devem ser confiáveis, caso contrário, a Amazon Q não poderá carregar seu projeto.

Para baixar seu código, talvez seja necessário configurar seu IDE para confiar em certificados ou atualizar outras configurações de proxy. Para obter mais informações sobre como atualizar as configurações de proxy, consulte Defina as configurações de proxy no IDE.

Remover caracteres curinga nas configurações de JetBrains proxy

Se você tiver definido as configurações de proxy em seu JetBrains IDE, talvez veja o seguinte erro ao baixar seu código atualizado:

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

Isso provavelmente é causado pela presença de um caractere curinga (*) no campo Sem proxy para das configurações de proxy do seu IDE. O Java SDK usado pelo Amazon Q não oferece suporte a entradas curinga nesse campo.

Para baixar seu código, remova todos os curingas do campo Sem proxy para e reinicie seu IDE. Se você precisar especificar hosts que devem ignorar o proxy, use uma expressão regular em vez de um caractere curinga. Para atualizar as configurações de proxy em seu JetBrains IDE, consulte Proxy HTTP na JetBrains documentação.

Como faço para acessar os logs de transformação de código?

Logs de acesso ao JetBrains

Para obter informações sobre como acessar arquivos de log do JetBrains, consulte Localização de arquivos de log IDE na documentação do JetBrains.

Para encontrar registros emitidos pelo Amazon Q emJetBrains, pesquise nos registros do IDE a seguinte string:

software.aws.toolkits.jetbrains.services.codemodernizer

Os logs de transformação de código começam com a string anterior. Os logs gerados pelo Maven são exibidos na guia Executar e têm a sequência de caracteres anterior antes e depois da entrada do log.

Logs de acesso ao Visual Studio Code

Para encontrar registros emitidos pelo Amazon Q emVS Code, conclua as seguintes etapas:

  1. Escolha Exibir na barra de navegação superior e, em seguida, escolha Paleta de comandos.

  2. Pesquise Amazon Q: View Logs na paleta de comandos que aparece.

  3. Os logs são abertos no IDE. Para pesquisar os arquivos de log CodeTransformation, use CMD + F ou Control + F.

Os logs de transformação de código do VS Code têm CodeTransformation: como prefixo. Veja a seguir um exemplo de um log gerado no VS Code para um erro de dependências de cópia do Maven:

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

Como faço para encontrar o ID do trabalho de transformação?

Encontre seu ID de emprego em JetBrains

Para encontrar um ID de trabalho de transformação em JetBrains, vá até a guia Detalhes da transformação no Transformation Hub e escolha o ícone Mostrar status do trabalho (relógio).

Encontre seu ID de emprego em Visual Studio Code

Para encontrar um ID de trabalho de transformação no VS Code, acesse o Transformation Hub e escolha o ícone Mostrar status do trabalho (relógio).