

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á.

# Transformar aplicações Java com o Amazon Q Developer
<a name="transform-java"></a>

**nota**  
O AWS Transform customizado agora está disponível para atualizações de Java. IA agente que lida com atualizações de versão, migração de SDK e muito mais, e melhora a cada execução. [Conceitos básicos](https://docs.aws.amazon.com/transform/latest/userguide/custom-get-started.html)

O Amazon Q é compatível com os seguintes tipos de transformações para aplicações Java: 
+ Atualizações da linguagem Java e da versão de dependência
+ Conversão SQL incorporada para migração de banco de dados Oracle para PostgreSQL

Para começar, consulte o tópico sobre o tipo de transformação que você gostaria de realizar. 

**Topics**
+ [

## Cotas
](#quotas-java-transformation-ide)
+ [

# Atualizar versões do Java com o Amazon Q Developer
](code-transformation.md)
+ [

# Converter SQL incorporado em aplicações Java com o Amazon Q Developer
](transform-sql.md)
+ [

# Transformar código na linha de comandos com o Amazon Q Developer
](transform-CLI.md)
+ [

# Visualizar o histórico de trabalhos de transformação
](transformation-job-history.md)
+ [

# Solucionar problemas com transformações Java
](troubleshooting-code-transformation.md)

## Cotas
<a name="quotas-java-transformation-ide"></a>

As transformações de aplicações Java com o Amazon Q no IDE e na linha de comandos mantêm as seguintes cotas: 
+ **Linhas de código por trabalho**: o número máximo de linhas de código que o Amazon Q pode transformar em um determinado trabalho de transformação. 
+ **Linhas de código por mês**: o número máximo de linhas de código que o Amazon Q pode transformar em um mês. 
+ **Trabalhos simultâneos**: o número máximo de trabalhos de transformação que podem ser executados ao mesmo tempo. Essa cota se aplica a todas as transformações no IDE, incluindo as [transformações .NET no Visual Studio](transform-dotnet-IDE.md).
+ **Trabalhos por mês**: o número máximo de trabalhos de transformação que você pode executar em um mês. 


| Recurso | Cotas | 
| --- | --- | 
| Linhas de código por trabalho | Nível gratuito: 1.000 linhas de código | 
| Linhas de código por mês | Nível gratuito: 2.000 linhas de código | 
| Tarefas simultâneas |  1 trabalho por usuário 25 trabalhos por AWS conta  | 
| Trabalhos por mês |  Nível Pro: 1.000 trabalhos Nível gratuito: 100 trabalhos  | 

# Atualizar versões do Java com o Amazon Q Developer
<a name="code-transformation"></a>

O Amazon Q Developer pode atualizar aplicações Java para versões de linguagem mais recentes no ambiente de desenvolvimento integrado (IDE). As alterações que o Amazon Q pode fazer para atualizar seu código incluem a atualização de componentes de código obsoletos e APIs a atualização de bibliotecas, estruturas e outras dependências em seu código. 

Para transformar o código, o Amazon Q primeiro o compila na versão da linguagem de origem e verifica se ele tem as informações necessárias para realizar a transformação. Após o Amazon Q transformar o código com sucesso, é possível verificar e aceitar as alterações no IDE. Como o Amazon Q Developer faz as alterações mínimas necessárias para tornar o código atualizado compatível com o JDK de destino, é necessária uma transformação adicional para atualizar as bibliotecas e dependências do projeto. Para obter mais informações sobre como o Amazon Q transforma seu código, consulte [Como o Amazon Q Developer transforma o código para atualizações da linguagem Java](how-CT-works.md).

**Topics**
+ [

## Atualizações de Java suportadas e IDEs
](#supported-languages-IDEs)
+ [

## Etapa 1: pré-requisitos
](#java-upgrade-prerequisites)
+ [

## Etapa 2: configurar o projeto
](#configure-project)
+ [

## Etapa 3: criar um arquivo de atualização de dependência (opcional)
](#create-dependency-upgrade-file)
+ [

## Etapa 4: transformar o código
](#transform-code-java)
+ [

# Como o Amazon Q Developer transforma o código para atualizações da linguagem Java
](how-CT-works.md)

## Atualizações de Java suportadas e IDEs
<a name="supported-languages-IDEs"></a>

Atualmente, o Amazon Q é compatível com as versões Java abaixo de código-fonte e de destino para transformações. A transformação do código para a mesma versão Java inclui a atualização de bibliotecas e outras dependências na versão do código-fonte.


**Atualizações de Java compatíveis**  

| Versão do código-fonte | Versões de destino compatíveis | 
| --- | --- | 
| Java 8  | Java 17 e Java 21 | 
| Java 11 | Java 17 e Java 21 | 
| Java 17 | Java 17 e Java 21  | 
| Java 21 |  Java21   | 

O Amazon Q oferece suporte a atualizações de Java nas seguintes áreas: IDEs
+ Módulos em JetBrains IDEs
+ Projetos e espaços de trabalho no Visual Studio Code

## Etapa 1: pré-requisitos
<a name="java-upgrade-prerequisites"></a>

Antes de continuar, certifique-se de que você concluiu as etapas em [Configurar o Amazon Q no IDE](q-in-IDE-setup.md).

Antes de começar, certifique-se de que os seguintes pré-requisitos são atendidos: 
+ Seu projeto foi escrito em uma [versão Java compatível](#supported-languages-IDEs) e foi criado no Maven.
+ Seu projeto foi compilado com sucesso com o Maven em seu IDE. Atualmente, o Maven 3.8 ou posterior é compatível. 
+ O JDK de origem do seu projeto está disponível localmente e é a versão do seu código-fonte. Por exemplo, se você estiver transformando o código Java 8, sua instalação local do JDK deverá ser o JDK 8.
+ Seu projeto é construído em 55 minutos ou menos. 
+ Seu projeto está configurado corretamente e a versão correta do JDK foi especificada. Para obter mais informações, consulte [Etapa 2: configurar o projeto](#configure-project).
+ Seu projeto não exige acesso a recursos em sua rede privada, incluindo uma nuvem privada virtual (VPC) ou uma rede on-premises. Por exemplo, se seu projeto contiver testes de unidade que se conectam a um banco de dados em sua rede, a transformação falhará.
+ Seu projeto não usa plug-ins que empacotam linguagens diferentes de Java em seu projeto Java. Por exemplo, se seu projeto usar o [frontend-maven-plugin](https://github.com/eirslett/frontend-maven-plugin)para executar código de front-end além JavaScript do código-fonte Java, a transformação falhará.
+ Sua rede local permite uploads para buckets do Amazon S3 que o Amazon Q usa para transformar seu código. Para obter mais informações, consulte [Permitir acesso aos buckets do Amazon S3 em](firewall.md#data-perimeters) perímetros de dados.
+ Sua aplicação usa somente caracteres UTF-8. Se sua aplicação usar caracteres não UTF-8, o Amazon Q ainda tentará transformar seu código. 

## Etapa 2: configurar o projeto
<a name="configure-project"></a>

Para configurar seu projeto, use as informações a seguir para o IDE que você está usando.

### Configurar um projeto no JetBrains
<a name="configure-jetbrains"></a>

Para configurar seu projeto em JetBrains, talvez seja necessário especificar as seguintes configurações de projeto e módulo. 

Se seus módulos usam o mesmo JDK e o mesmo nível de linguagem do seu projeto, você não precisa atualizar as configurações do módulo.
+ SDK do projeto: o JDK usado para compilar seu projeto. 
+ Nível de linguagem do projeto: a versão do Java usada em seu projeto.
+ SDK do módulo: o JDK usado para compilar seu módulo. 
+ Nível de idioma do módulo: a versão do Java usada em seu módulo. 
+ Maven Runner JRE: o JDK com o qual você constrói seu módulo. 

**Atualizar as configurações do projeto e do módulo**

Para atualizar as configurações de SDK e de nível de idioma para o projeto ou módulo, siga as etapas a seguir:

1. No seu JetBrains IDE, escolha **Arquivo** e, em seguida, **Estrutura do projeto**. 

1. A janela Project Structure é aberta. Em **Configurações do projeto**, escolha **Módulos**. 

   1. Para atualizar o JDK do seu projeto, escolha na lista suspensa ao lado do **SDK**. 

   1. Para atualizar o idioma do seu projeto, escolha no menu suspenso ao lado do nível do **idioma**. 

1. Em **Configurações do projeto**, escolha **Módulos**. 

   1. Para atualizar seu módulo JDK, escolha na lista suspensa ao lado do **SDK**. 

   1. Para atualizar o idioma do seu módulo, escolha no menu suspenso ao lado do nível do **idioma**.

Para obter mais informações, consulte [Configurações da estrutura do projeto](https://www.jetbrains.com/help/idea/project-settings-and-structure.html) e [Configurações da estrutura do módulo](https://www.jetbrains.com/help/idea/configure-modules.html) na documentação do JetBrains.

**Atualizar as configurações do Maven**

Para atualizar o JRE do Maven Runner, siga as etapas a seguir:

1. No IDE JetBrains, selecione o ícone de engrenagem e, em seguida, escolha **Configurações** no menu que é exibido. 

1. Na janela **Configurações**, escolha **Construção, Execução, Implantação** depois **Ferramentas de Construção**, depois **Maven** e depois **Executor**.

1. No campo JRE, escolha o JDK usado para criar o módulo que você está transformando.

### Configurar um projeto no VS Code
<a name="configure-vsc"></a>

Para configurar seu projeto em VS Code, seu projeto deve conter o seguinte: 
+ O arquivo `pom.xml` na pasta do projeto
+ O arquivo `.java` no seu diretório de projeto

Se seu projeto contiver um Maven wrapper executável (`mvnw` para macOS ou `mvnw.cmd` para Windows), verifique se ele está na raiz do seu projeto. O Amazon Q usará o wrapper e nenhuma outra configuração Maven será necessária.

Se você não estiver usando um Maven wrapper, instale Maven. Para obter mais informações, consulte [Instalação do Apache Maven](https://maven.apache.org/install.html) na documentação do Apache Maven.

Depois de instalar Maven, adicione-o à sua `PATH` variável. Para obter mais informações, consulte [Como faço para adicionar o Maven ao meu `PATH`?](troubleshooting-code-transformation.md#add-maven-to-path) Sua `runtime` variável Java também deve estar apontando para um JDK e não para um JRE. Para confirmar se sua configuração está correta, execute `mvn -v`. A saída deve mostrar sua Maven versão e a `runtime` variável apontando para o caminho para seu JDK.

## Etapa 3: criar um arquivo de atualização de dependência (opcional)
<a name="create-dependency-upgrade-file"></a>

Você pode fornecer ao Amazon Q um *arquivo de atualização de dependência*, um arquivo YAML que lista as dependências do seu projeto e as versões para as quais atualizar durante uma transformação. Ao fornecer um arquivo de atualização de dependências, você poderá especificar dependências de terceiros e primárias que o Amazon Q talvez não saiba que precisam ser atualizadas.

As dependências primárias se referem às bibliotecas, plug-ins e estruturas que sua organização mantém e estão disponíveis somente localmente ou na rede privada da sua organização. O Amazon Q é capaz de acessar suas dependências primárias ao realizar compilações em seu ambiente local. Para obter mais informações, consulte [Compilar código no ambiente local](how-CT-works.md#java-local-builds). Dependências de terceiros são dependências disponíveis publicamente ou de código aberto que não são exclusivas da sua organização.

Você pode especificar dependências primárias que deseja atualizar em um arquivo YAML, e o Amazon Q as atualiza durante a atualização do JDK (por exemplo, do Java 8 para o 17). É possível iniciar uma transformação separada (do 17 para o 17 ou do 21 para 21) após a atualização inicial do JDK para atualizar dependências de terceiros.

Após o Amazon Q realizar uma atualização mínima do JDK, você poderá iniciar uma transformação separada para atualizar todas as dependências de terceiros. Como alternativa, é possível especificar dependências de terceiros e suas versões em um arquivo YAML para atualizar somente essas dependências durante a transformação de atualização da biblioteca.

O Amazon Q solicitará que você forneça um arquivo de atualização de dependência durante a transformação. Se você quiser fornecer um, primeiro verifique se configurou o arquivo corretamente. Os seguintes campos são necessários no arquivo YAML:
+ name: o nome do arquivo de atualização de dependência.
+ description (opcional): uma descrição do arquivo de atualização da dependência e para qual transformação.
+ dependencyManagement: contém a lista de dependências e plug-ins a serem atualizados.
+ dependencies: contém o nome e a versão das bibliotecas a serem atualizadas.
+ plugins: contém os nomes e as versões dos plug-ins a serem atualizados.
+ identifier: o nome da biblioteca, plug-in ou outra dependência.
+ targetVersion: a versão da dependência para a qual atualizar.
+ versionProperty (opcional): a versão da dependência que você está definindo, conforme definida com a tag `properties` no arquivo `pom.xml` da sua aplicação.
+ originType: se a dependência é primária ou de terceiros, especificada por FIRST\$1PARTY ou THIRD\$1PARTY.

Veja a seguir um exemplo de um arquivo YAML de atualização de dependência e a configuração necessária para análise do Amazon Q:

```
name: dependency-upgrade
  
description: "Custom dependency version management for Java migration from JDK 8/11/17 to JDK 17/21"
  
  
dependencyManagement:
  
  dependencies:
  
    - identifier: "com.example:library1"
  
      targetVersion: "2.1.0"
  
      versionProperty: "library1.version"  # Optional
  
      originType: "FIRST_PARTY"   
  
    - identifier: "com.example:library2"
  
      targetVersion: "3.0.0"
  
      originType: "THIRD_PARTY"
  
  plugins:
  
    - identifier: "com.example.plugin"
  
      targetVersion: "1.2.0"
  
      versionProperty: "plugin.version"  # Optional
            
      originType: "THIRD_PARTY"
```

## Etapa 4: transformar o código
<a name="transform-code-java"></a>

Para testar a configuração do seu IDE, baixe e descompacte o projeto de amostra e conclua as etapas a seguir para seu IDE. Se você conseguir visualizar as alterações propostas e o resumo da transformação, estará pronto para transformar seu próprio projeto de código. Se a transformação falhar, o IDE não está configurado corretamente. Para resolver problemas de configuração, revise [Etapa 2: configurar o projeto](#configure-project) e [Solução de problemas](troubleshooting-code-transformation.md).

**nota**  
Não desligue, feche ou coloque sua máquina local em modo de espera durante a transformação do código. As compilações inicial e de validação usam o ambiente do lado do cliente, o que requer uma conexão de rede estável. 

Conclua estas etapas para atualizar a versão da linguagem de código do projeto ou módulo de código.

------
#### [ JetBrains ]

1. Abra o módulo no qual você deseja atualizar em JetBrains. Certifique-se de ter construído seu projeto com sucesso no IDE. 

1. Escolha o logotipo da Amazon Q e peça à Amazon Q que transforme seu aplicativo no painel de bate-papo que se abre.

1. Um pop-up **Transforme seu aplicativo** é exibido. Escolha o projeto que você deseja atualizar na lista suspensa e, em seguida, escolha **Transformar**. 

1. O Amazon Q solicita que você forneça um arquivo de dependência de atualização. Se você configurou um YAML com as dependências e a versão para a qual deseja atualizar, adicione seu arquivo. O Amazon Q validará o arquivo para garantir que ele esteja configurado corretamente. Se ocorrer um erro, revise o formato e os campos necessários descritos em [Etapa 3: criar um arquivo de atualização de dependência (opcional)](#create-dependency-upgrade-file).

1. O Amazon Q inicia a transformação. Você pode ver o progresso na guia **Detalhes da transformação**. 

1. Depois que a transformação for concluída, você poderá verificar o código atualizado antes de atualizar seu projeto. Para ver o novo código, vá até a guia **Detalhes da transformação** e escolha **Exibir diferença**. Na janela **Aplicar patch** exibida, escolha um arquivo para abrir uma visualização de diferenças com seu código-fonte e o código atualizado. 

1. Para aceitar as alterações feitas pelo Amazon Q, escolha **Exibir diferença** para abrir a janela **Aplicar patch**. Selecione todos os arquivos atualizados e escolha **OK** para atualizar seu projeto no local. 

1. Para obter detalhes sobre como seu código foi atualizado e sugerir as próximas etapas, na guia **Detalhes da transformação**, escolha **Exibir resumo da transformação**. 

------
#### [ Visual Studio Code ]

1. Abra o projeto ou o espaço de trabalho no VS Code que você deseja atualizar. Certifique-se de que você construiu o projeto com êxito no IDE. 

1. Escolha o logotipo da Amazon Q e peça à Amazon Q que transforme seu aplicativo no painel de bate-papo que se abre.

1. Escolha o projeto que você deseja atualizar na barra de pesquisa na parte superior do IDE. 

1. Se o Amazon Q não conseguir encontrar a versão do seu código-fonte, ele solicitará que você escolha a versão do seu código. Escolha a versão em que seu código-fonte está escrito e, em seguida, escolha **Transformar** no pop-up para continuar. 

1. Caso seja solicitado, insira o caminho `JAVA_HOME` para o JDK. Para obter mais informações, consulte [Configurar seu projeto VS Code](#configure-vsc). 

1. O Amazon Q solicita que você forneça um arquivo de dependência de atualização. Se você configurou um YAML com as dependências e a versão para a qual deseja atualizar, adicione seu arquivo. O Amazon Q validará o arquivo para garantir que ele esteja configurado corretamente. Se ocorrer um erro, revise o formato e os campos necessários descritos em [Etapa 3: criar um arquivo de atualização de dependência (opcional)](#create-dependency-upgrade-file).

1. O Amazon Q inicia a transformação. Você pode ver o progresso na guia **Hub de transformação**. 

1. Depois que a transformação for concluída, a guia **Alterações propostas** será aberta. Para verificar o código atualizado antes de atualizar seu projeto, escolha **Baixar as alterações propostas**. Escolha um arquivo para abrir uma visualização de diferenças com seu código-fonte e código atualizado. 

1. Para aceitar as alterações feitas pela Amazon Q, acesse a guia **Alterações propostas** e escolha **Aceitar**. 

1. Para obter detalhes sobre como seu código foi atualizado e ver as próximas etapas sugeridas, no **Transformation Hub**, escolha o botão de reticências **Visualizações e Mais Ações** e, em seguida, escolha **Mostrar resumo da transformação**.

------

# Como o Amazon Q Developer transforma o código para atualizações da linguagem Java
<a name="how-CT-works"></a>

Para transformar o código, o Amazon Q Developer gera um plano de transformação usado para atualizar a versão da linguagem de código do projeto. Depois de transformar seu código, ele fornece um resumo da transformação e uma comparação de arquivos para você revisar as alterações antes de aceitá-las. Como o Amazon Q Developer faz as alterações mínimas necessárias para tornar o código atualizado compatível com o JDK de destino, é necessária uma transformação adicional para atualizar as bibliotecas e dependências do projeto. As seções a seguir fornecem mais detalhes sobre como o Amazon Q realiza a transformação.

## Criar seu código e criar um plano de transformação
<a name="build-code-create-plan"></a>

Para começar a transformar seu código, o Amazon Q cria seu projeto localmente e gera um artefato de construção que contém seu código-fonte, dependências do projeto e logs de criação. 

Depois de gerar o artefato de construção, o Amazon Q cria seu código em um ambiente de compilação seguro e cria um plano de transformação, que é personalizado para o projeto ou módulo que você está atualizando. O plano de transformação descreve as mudanças específicas que o Amazon Q tentará fazer, incluindo novas versões de dependência, grandes alterações no código e sugestões de substituições para o código obsoleto. Essas alterações são baseadas na compilação preliminar do seu código e podem mudar durante a transformação.

## Transformar o código
<a name="transform-code"></a>

Para transformar seu código, o Amazon Q tenta atualizá-lo para a versão Java de destino com base nas alterações propostas no plano de transformação. À medida que faz alterações, ele reconstrói e executa testes de unidade existentes em seu código-fonte para corrigir iterativamente quaisquer erros encontrados. A atualização do JDK pode ser feita da seguinte versão do código-fonte para a versão de destino:
+ Java 8 para 17
+ Java 8 para 21
+ Java 11 para 17
+ Java 11 para 21
+ Java 17 para 21

O Amazon Q faz as alterações mínimas necessárias para tornar seu código compatível com a versão Java de destino. Após o Amazon Q realizar uma atualização mínima do JDK, você poderá iniciar uma transformação separada para atualizar todas as dependências de terceiros. Como alternativa, é possível especificar dependências de terceiros e suas versões em um arquivo YAML para atualizar somente essas dependências durante a transformação de atualização da biblioteca.

O Amazon Q tenta fazer as seguintes alterações ao atualizar seu código:
+ Atualizar componentes de código obsoletos conforme as recomendações da versão Java de destino.
+ Atualizar bibliotecas e estruturas populares para uma versão compatível com a versão Java de destino. Isso inclui atualizar as seguintes bibliotecas e estruturas para as versões principais mais recentes disponíveis: 
  + Apache Commons E/S 
  + Apache HttpClient 
  + fips do bc-fips 
  + Pepino-JVM 
  + Hibernar 
  + jackson-annotations 
  + JakartaEE
  + Javax 
  + javax.servlet 
  + jaxb-api 
  + jaxb-impl 
  + jaxen 
  + jcl-over-slf4j 
  + JSON simples 
  + jsr305 
  + junit 
  + junit-jupiter-api 
  + Log4j 
  + Micronaut 
  + Mockito 
  + mockito-core 
  + Okio 
  + PowerMockito 
  + Quarkus 
  + slf4j 
  + slf4j-api 
  + Bota de primavera 
  + Framework da 
  + Spring Security 
  + Swagger 
  + testando 

**nota**  
Não desligue nem feche sua máquina local durante a transformação do código porque a compilação do lado do cliente requer uma conexão de rede estável.

## Compilar código no ambiente local
<a name="java-local-builds"></a>

Durante uma transformação, o Amazon Q realiza compilações de verificação em seu ambiente local. O Amazon Q transforma seu código no lado do servidor em várias etapas. Após cada etapa, o Amazon Q envia o código para seu ambiente local para compilar e testar as alterações feitas. O código é então enviado de volta para o lado do servidor para continuar a transformação. 

A compilação no ambiente local ajuda a verificar o código transformado, permitindo que o Amazon Q execute testes que exigem acesso a recursos privados. Para minimizar os riscos de segurança associados à compilação de código gerado por IA no ambiente local, o Amazon Q revisa e atualiza o código que gera para tratar de questões de segurança.

## Revisando o resumo da transformação e aceitando as alterações
<a name="review-plan-accept-changes"></a>

Depois que a transformação for concluída, o Amazon Q fornece um resumo da transformação com detalhes sobre as alterações feitas, incluindo o status da versão final, que indica se todo o seu projeto foi atualizado. Você também pode ver um resumo do log de compilação para entender quaisquer problemas que impediram o Amazon Q de criar seu código na versão atualizada.

Além disso, o resumo da transformação inclui as diferenças entre as mudanças propostas no plano de transformação e as alterações que a Amazon Q fez para atualizar seu código e quaisquer alterações adicionais que não estavam no plano original. 

Depois de revisar o resumo da transformação, você pode visualizar as alterações que o Amazon Q está propondo em uma visualização de comparação de arquivos. Qualquer alteração de código sugerida pela Amazon Q não afetará seus arquivos de projeto atuais até que você aceite as alterações. O código transformado está disponível até 30 dias após a conclusão da transformação. 

## Concluindo transformações parcialmente bem-sucedidas
<a name="partially-successful-transformations"></a>

Dependendo da complexidade e das especificidades da sua base de código, pode haver instâncias em que a transformação seja parcialmente bem-sucedida. Isso significa que o Amazon Q conseguiu transformar somente determinados arquivos ou áreas de código em seu projeto. Nesse caso, você precisa atualizar manualmente o código restante para que seu projeto possa ser compilado na versão atualizada do idioma. 

Para ajudar a transformar o resto do seu código, você pode usar o Amazon Q chat no IDE. Você pode pedir à Amazon Q que revise os arquivos parcialmente atualizados e forneça um novo código para resolver problemas, como erros de compilação. Você também pode usar recursos como [desenvolvimento de recursos](q-in-IDE-chat.md#develop-code) e [contexto do espaço de trabalho](workspace-context.md) para incluir mais do seu projeto como contexto e obter sugestões para vários arquivos ao mesmo tempo. 

# Converter SQL incorporado em aplicações Java com o Amazon Q Developer
<a name="transform-sql"></a>

O agente Amazon Q Developer para transformação de código no IDE pode ajudá-lo a converter SQL incorporado para concluir a migração do banco de dados Oracle para PostgreSQL AWS Database Migration Service com AWS (DMS).

AWS O DMS é um serviço em nuvem que possibilita a migração de bancos de dados relacionais, data warehouses, bancos de dados NoSQL e outros tipos de armazenamentos de dados. A DMS Schema Conversion no AWS DMS ajuda a converter esquemas de banco de dados e objetos de código que você pode aplicar ao seu banco de dados de destino. Para obter mais informações, consulte [O que é AWS Database Migration Service?](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) no *Guia do AWS Database Migration Service usuário*.

Ao usar o AWS DMS e o DMS Schema Conversion para migrar um banco de dados, talvez seja necessário converter o SQL incorporado em seu aplicativo para ser compatível com seu banco de dados de destino. Em vez de convertê-lo manualmente, você pode usar o Amazon Q no IDE para automatizar a conversão. O Amazon Q usa metadados da DMS Schema Conversion para converter SQL incorporado na sua aplicação em uma versão compatível com o banco de dados de destino.

Atualmente, o Amazon Q pode converter SQL em aplicações Java para bancos de dados Oracle migrando para o PostgreSQL. Você só verá a opção de transformar o código SQL no IDE se sua aplicação contiver instruções SQL do Oracle. Consulte os pré-requisitos para obter mais informações. 

## Etapa 1: pré-requisitos
<a name="sql-transform-prereqs"></a>

Antes de continuar, certifique-se de que você concluiu as etapas em [Configurar o Amazon Q no IDE](q-in-IDE-setup.md).

Antes de iniciar um trabalho de transformação de código para conversão SQL, verifique se os seguintes pré-requisitos foram atendidos:
+ Você está migrando uma aplicação Java com SQL incorporado de um banco de dados Oracle para um banco de dados PostgreSQL. Sua aplicação deve conter instruções SQL do Oracle para ser qualificada para transformação. 
+ Você concluiu o processo de conversão do esquema do banco de dados usando o AWS DMS Schema Conversion. Para obter mais informações, consulte [Migrating Oracle databases to Amazon RDS for PostgreSQL with DMS Schema Conversion](https://docs.aws.amazon.com/dms/latest/sbs/schema-conversion-oracle-postgresql.html) no *Guia de migração de banco de dados*.
+ Após a conclusão da conversão do esquema, você baixou o arquivo do projeto de migração do console do AWS DMS.

## Etapa 2: configurar a aplicação
<a name="sql-transform-configure"></a>

Para converter o código SQL incorporado, seu projeto Java deve conter pelo menos um arquivo `.java`. 

Se você estiver usando um JetBrains IDE, deverá definir o campo SDK nas configurações da Estrutura do Projeto para o JDK aplicável. Para obter informações sobre como definir as configurações da estrutura do [projeto, consulte Configurações da estrutura do](https://www.jetbrains.com/help/idea/project-settings-and-structure.html) projeto na JetBrains documentação. 

## Etapa 3: converter SQL incorporado
<a name="convert-sql"></a>

Para converter o código SQL incorporado em sua aplicação Java em um formato compatível com o banco de dados de destino do PostgreSQL, conclua as seguintes etapas:

1. No IDE onde o Amazon Q está instalado, abra a base de código Java que contém o SQL incorporado que você precisa converter. 

1. Selecione o ícone do Amazon Q para abrir o painel de chat. 

1. Peça à Amazon Q que transforme seu aplicativo no painel de bate-papo.

1. Se a aplicação Java estiver qualificada para conversão SQL, o Amazon Q solicitará que você selecione o tipo de transformação que deseja realizar. Insira **SQL conversion**. 

1. O Amazon Q solicita que você carregue o arquivo de metadados do esquema que você recuperou do Amazon S3. No chat, o Amazon Q fornece instruções para recuperar o arquivo. 

1. O Amazon Q solicita que você forneça o projeto que contém o SQL incorporado, bem como o arquivo do esquema do banco de dados. Selecione os arquivos apropriados nos menus suspensos no painel de chat.

1. Confirme se os detalhes que o Amazon Q recuperou do esquema do banco de dados estão corretos. 

1. O Amazon Q começa a converter o código SQL. Isso pode levar alguns minutos.

1. Depois que o Amazon Q converte o código SQL, ele fornece uma comparação com todas as atualizações feitas nos arquivos. Revise as alterações nas comparações e, em seguida, aceite as alterações para atualizar o código. 

   O Amazon Q também fornece um resumo da transformação com detalhes sobre as alterações que realizou.

1. Depois de atualizar seu código, retorne ao console do AWS DMS para verificar se o novo SQL é compatível com o banco de dados migrado. 

# Transformar código na linha de comandos com o Amazon Q Developer
<a name="transform-CLI"></a>

Você pode transformar suas aplicações por meio da linha de comandos com a ferramenta de transformação de linha de comandos do Amazon Q Developer. Para transformar seu código, você fornece o caminho para o código-fonte e todos os arquivos de configuração necessários, e o Amazon Q gera o novo código em uma série de etapas. Durante a transformação, o Amazon Q cria código em seu ambiente local para verificar as alterações. Para obter mais informações, consulte [Compilar código no ambiente local](#local-builds). O Amazon Q cria uma ramificação em seu repositório onde confirma as alterações no código. Quando a transformação estiver concluída, você pode mesclar a ramificação em sua ramificação original para incorporar as alterações à sua base de código. 

Para começar, instale a ferramenta de linha de comando, faça a autenticação e, em seguida, veja os comandos para configurar e iniciar uma transformação. 

**Topics**
+ [

## Compilar código no ambiente local
](#local-builds)
+ [

## Comandos
](#commands)
+ [

# Executar uma transformação na linha de comandos com o Amazon Q Developer
](run-CLI-transformations.md)
+ [

# Solucionar problemas de transformações na linha de comando
](troubleshooting-CLI-transformations.md)
+ [

# Histórico de versões da ferramenta de transformação de linha de comandos do Amazon Q Developer
](transform-CLI-versions.md)

## Compilar código no ambiente local
<a name="local-builds"></a>

Durante uma transformação, o Amazon Q realiza compilações de verificação em seu ambiente local. O Amazon Q transforma seu código no lado do servidor em várias etapas. Após cada etapa, o Amazon Q envia o código para seu ambiente local para compilar e testar as alterações feitas. O código é então enviado de volta para o lado do servidor para continuar a transformação. 

A compilação no ambiente local ajuda a verificar o código transformado, permitindo que o Amazon Q execute testes que exigem acesso a recursos privados. Para minimizar os riscos de segurança associados à compilação de código gerado por IA no ambiente local, o Amazon Q revisa e atualiza o código que gera para tratar de questões de segurança.

**nota**  
O Amazon Q realiza transformações com base nas solicitações, descrições e conteúdo do projeto. Para manter a segurança, evite incluir artefatos externos não verificados no repositório do projeto e sempre valide o código transformado em termos de funcionalidade e segurança.

## Comandos
<a name="commands"></a>

Para step-by-step obter instruções sobre como executar esses comandos, consulte[Executar uma transformação na linha de comandos com o Amazon Q Developer](run-CLI-transformations.md). 

Para configurar uma transformação e se autenticar no Amazon Q Developer Pro, execute:

```
qct configure
```

Para iniciar uma transformação para uma atualização do Java, execute o comando a seguir. Para*<your-source-java-version>*, você pode inserir `JAVA_1.8``JAVA_8`,`JAVA_11`,`JAVA_17`, ou`JAVA_21`. Para*<your-target-java-version>*, você pode inserir um `JAVA_17` ou`JAVA_21`. `--source_version` e `--target_version` são opcionais. O sinalizador `--trust` permite que uma transformação seja executada durante a verificação do código para manter a segurança.

```
qct transform --source_folder <path-to-folder>
    --source_version <your-source-java-version>        
    --target_version <your-target-java-version>
    --trust
```

Para iniciar uma transformação para uma conversão SQL, execute:

```
qct transform --source_folder <path-to-folder>
    --sql_conversion_config_file <path-to-sql-config-file>
```

Para ver qual versão da ferramenta de linha de comandos para transformação você está usando, execute:

```
qct -v
```

Para obter ajuda com as transformações, execute:

```
qct -h
```

Para visualizar seu histórico de trabalhos de transformação, execute:

```
qct history
```

Para obter mais informações sobre como visualizar e gerenciar o histórico de trabalhos de transformação, consulte [Visualizar o histórico de trabalhos na linha de comando](transformation-job-history.md#cli-job-history).

# Executar uma transformação na linha de comandos com o Amazon Q Developer
<a name="run-CLI-transformations"></a>

Conclua estas etapas para transformar seu código na linha de comandos com a ferramenta de linha de comandos do Amazon Q Developer.

## Pré-requisitos
<a name="CLI-transformation-prerequisites"></a>

Antes de iniciar uma transformação na linha de comando, os seguintes pré-requisitos devem ser atendidos:
+ Se você está atualizando sua versão do código Java, seu projeto atende aos [pré-requisitos para atualizar versões Java com o Amazon Q](code-transformation.md#java-upgrade-prerequisites).
+ Se você está convertendo SQL incorporado em uma aplicação Java, sua aplicação atende aos [pré-requisitos para converter SQL incorporado com o Amazon Q](transform-sql.md#sql-transform-prereqs).
+ Você tem o Python instalado no ambiente de linha de comando. É assim que você instalará a ferramenta de linha de comando. A versão mínima compatível do Python é 3.12.
+ Você está executando a transformação no Linux ou no macOS. 
+ O tamanho da sua aplicação é de 2 GB ou menos. 
+ Se tem dependências específicas que deseja que o Amazon Q atualize, você configurou um [arquivo de atualização de dependências](#step-3-dependency-upgrade-file).

## Etapa 1: selecionar o método de autenticação e adicionar permissões
<a name="step-1-permissions-auth"></a>

Você pode autenticar o Centro de Identidade do IAM para executar transformações na linha de comando. Verifique se você tem as permissões necessárias.

**nota**  
As chaves gerenciadas pelo cliente não são compatíveis com transformações realizadas na linha de comando.

### Adicionar permissões
<a name="transform-CLI-add-permissions"></a>

A identidade do IAM associada à assinatura do Amazon Q Developer que você está usando para se autenticar deve ter permissões para executar transformações na linha de comando. Antes de continuar, verifique se a sua identidade do IAM tem as permissões definidas em [Permitir que os usuários executem transformações na linha de comandos](id-based-policy-examples-users.md#id-based-policy-examples-allow-cli-transformations).

### Autenticar-se com o Centro de Identidade do IAM por meio de uma assinatura do Amazon Q Developer
<a name="auth-IdC"></a>

Para se autenticar com o Centro de Identidade do IAM, você precisa ter uma [assinatura do Amazon Q Developer Pro como usuário da força de trabalho](subscribe-users.md) pelo administrador e fornecer o URL inicial para autenticação por meio de sua assinatura. Você ou seu administrador podem encontrar o URL inicial no console do Amazon Q Developer. Para obter mais informações, consulte, [Encontrar o URL inicial para uso com o Amazon Q Developer](manage-account-details.md).

Para adicionar as permissões necessárias, consulte [Adicionar permissões](#transform-CLI-add-permissions).

Você fornece o URL inicial em [Etapa 4: configurar e autenticar-se](#step-4-configure-auth).

## Etapa 2: instalar a ferramenta
<a name="step-2-install"></a>



1. [Baixe a ferramenta de linha de comandos do Amazon Q para transformações](https://desktop-release.codewhisperer.us-east-1.amazonaws.com/amzn_qct_cli/amzn_qct_cli-1.2.2.zip) e descompacte-a.

   Para baixar uma versão anterior da ferramenta de linha de comando, consulte [Histórico de versões](transform-CLI-versions.md).

1. Recomendamos que você configure um ambiente virtual em Python para instalar a ferramenta. Para criar um ambiente virtual, abra uma janela de terminal no diretório em que você deseja instalar a ferramenta e execute:

   ```
   python -m venv qct-cli 
   ```

1. Para ativar o ambiente virtual, execute: 

   ```
   source qct-cli/bin/activate 
   ```

1. Para instalar a ferramenta na linha de comando, execute o seguinte comando com o caminho para onde você descompactou a ferramenta, com base na arquitetura da sua máquina:

------
#### [ Linux\$1aarch64 ]

   ```
   pip install <path/to/unzipped-tool>/Linux_aarch64/amzn_qct_cli-1.2.2-py3-none-any.whl
   ```

------
#### [ Linux\$1x86\$164 ]

   ```
   pip install <path/to/unzipped-tool>/Linux_x86_64/amzn_qct_cli-1.2.2-py3-none-any.whl
   ```

------
**nota**  
Se estiver usando uma versão mais antiga da ferramenta de linha de comandos para transformações, substitua `1.2.2` pela [versão](transform-CLI-versions.md) que você baixou.

1. Para verificar se a ferramenta foi instalada, execute:

   ```
   which qct
   ```

## Etapa 3: criar um arquivo de atualização de dependência (opcional)
<a name="step-3-dependency-upgrade-file"></a>

Você pode fornecer ao Amazon Q um *arquivo de atualização de dependência*, um arquivo YAML que lista as dependências do seu projeto e as versões para as quais atualizar durante uma transformação. Ao fornecer um arquivo de atualização de dependências, você poderá especificar dependências de terceiros e primárias que o Amazon Q talvez não saiba que precisam ser atualizadas.

As dependências primárias se referem às bibliotecas, plug-ins e estruturas que sua organização mantém e estão disponíveis somente localmente ou na rede privada da sua organização. O Amazon Q é capaz de acessar suas dependências primárias ao realizar compilações em seu ambiente local. Para obter mais informações, consulte [Compilar código no ambiente local](transform-CLI.md#local-builds). Dependências de terceiros são dependências disponíveis publicamente ou de código aberto que não são exclusivas da sua organização.

Você pode especificar dependências primárias que deseja atualizar em um arquivo YAML, e o Amazon Q as atualiza durante a atualização do JDK (por exemplo, do Java 8 para o 17). É possível iniciar uma transformação separada (do 17 para o 17 ou do 21 para 21) após a atualização inicial do JDK para atualizar dependências de terceiros.

Após o Amazon Q realizar uma atualização mínima do JDK, você poderá iniciar uma transformação separada para atualizar todas as dependências de terceiros. Como alternativa, é possível especificar dependências de terceiros e suas versões em um arquivo YAML para atualizar somente essas dependências durante a transformação de atualização da biblioteca.

O Amazon Q solicitará que você forneça um arquivo de atualização de dependência durante a transformação. Se você quiser fornecer um, primeiro verifique se configurou o arquivo corretamente. Os seguintes campos são necessários no arquivo YAML:
+ name: o nome do arquivo de atualização de dependência.
+ description (opcional): uma descrição do arquivo de atualização da dependência e para qual transformação.
+ dependencyManagement: contém a lista de dependências e plug-ins a serem atualizados.
+ dependencies: contém o nome e a versão das bibliotecas a serem atualizadas.
+ plugins: contém os nomes e as versões dos plug-ins a serem atualizados.
+ identifier: o nome da biblioteca, plug-in ou outra dependência.
+ targetVersion: a versão da dependência para a qual atualizar.
+ versionProperty (opcional): a versão da dependência que você está definindo, conforme definida com a tag `properties` no arquivo `pom.xml` da sua aplicação.
+ originType: se a dependência é primária ou de terceiros, especificada por FIRST\$1PARTY ou THIRD\$1PARTY.

Veja a seguir um exemplo de um arquivo YAML de atualização de dependência e a configuração necessária para análise do Amazon Q:

```
name: dependency-upgrade
  
description: "Custom dependency version management for Java migration from JDK 8/11/17 to JDK 17/21"
  
  
dependencyManagement:
  
  dependencies:
  
    - identifier: "com.example:library1"
  
      targetVersion: "2.1.0"
  
      versionProperty: "library1.version"  # Optional
  
      originType: "FIRST_PARTY"   
  
    - identifier: "com.example:library2"
  
      targetVersion: "3.0.0"
  
      originType: "THIRD_PARTY"
  
  plugins:
  
    - identifier: "com.example.plugin"
  
      targetVersion: "1.2.0"
  
      versionProperty: "plugin.version"  # Optional
            
      originType: "THIRD_PARTY"
```

## Etapa 4: configurar e autenticar-se
<a name="step-4-configure-auth"></a>

Antes de começar uma transformação, você deve se autenticar no Centro de Identidade do IAM e fornecer detalhes de configuração para a transformação. 

1. Para iniciar o processo de configuração da transformação, execute o seguinte comando:

   ```
   qct configure
   ```

1. Será necessário inserir um caminho do JDK para cada versão Java compatível. Você só precisará especificar o caminho para o JDK da versão de origem da sua aplicação Java, não da versão de destino.

1. Em seguida, para se autenticar no Centro de Identidade do IAM, você precisará inserir o URL inicial do seu perfil de assinatura do Amazon Q Developer Pro.

   Em seguida, insira o Região da AWS local em que você se inscreveu no seguinte formato:`us-east-1`. Para obter uma lista de regiões compatíveis, consulte [Regiões do compatíveis](regions.md). Para obter uma lista de códigos de região, consulte [Regional endpoints](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints) no *Guia Referência geral da AWS *. 

1. Suas preferências de configuração são salvas em um arquivo configuration.ini. 

## Etapa 5: executar uma transformação
<a name="step-5-run-transformation"></a>

Selecione o tipo de transformação que você está executando para ver a configuração e os comandos necessários. 

**nota**  
Não desligue nem feche sua máquina local durante a transformação do código porque a compilação do lado do cliente requer uma conexão de rede estável.

------
#### [ Java upgrade ]

**Modificar o plano de transformação**

Durante as atualizações da versão Java, o Amazon Q gera um plano de transformação que você pode revisar antes do início da transformação. Você tem a opção de solicitar as seguintes alterações no plano:
+ Quais bibliotecas o Amazon Q atualiza, com base na lista incluída no plano
  + Exemplos de prompts:
    + Atualize somente <dependency1>, <dependency2> e <dependency5>
    + Não atualize <dependency1> ou <dependency2>
+ A versão de destino para a qual atualizar uma biblioteca
  + Exemplos de prompts:
    + Atualize <dependency> para esta versão <version>
+ Quais etapas o Amazon Q deve executar
  + Exemplos de prompts:
    + Conclua somente as etapas 1 a 7
    + Não execute as etapas 5 a 9
+ Adicionar dependências adicionais para atualizar (somente uma opção ao atualizar para uma versão mais recente do JDK)
  + Exemplos de prompts:
    + Também atualize <dependency1> para <version2>

**Atualizar código Java**

1. Execute o comando a seguir para iniciar uma transformação para uma atualização do Java. Substitua `<path-to-folder>` pelo caminho para a pasta com o código que você está transformando e `<your-target-java-version>` por `JAVA_17` ou `JAVA_21`.

   ```
   qct transform --source_folder <path-to-folder>
       --target_version <your-target-java-version>
   ```

   Opções de comando adicionais: 
   + Se você estiver especificando dependências para atualizar, adicione a opção `--dependency_upgrade_file` com o caminho para o arquivo de atualização de dependência.
   + Se você não quiser revisar ou atualizar o plano de transformação, adicione o sinalizador `--no-interactive` ao comando. O Amazon Q não solicitará feedback sobre o plano e você não terá a oportunidade de solicitar alterações.

1. Sua versão do Maven é verificada antes do início da transformação. Se você tiver pelo menos a versão mínima compatível, a seguinte saída será exibida: 

   ```
   Running command: mvn --version at: path/to/current/directory 
   Your Maven version is supported for transformations.
   ```

   Se você não tiver uma versão compatível do Maven, você deverá atualizá-lo para continuar. Para obter mais informações, consulte o [Pré-requisitos](#CLI-transformation-prerequisites). 

1. Se o sinalizador `--no-interactive` não tiver sido adicionado, o Amazon Q solicitará que você dê feedback sobre o plano de transformação. Você pode explicar as alterações que deseja fazer em inglês natural, e o Amazon Q atualizará o plano se ele for compatível com as alterações solicitadas. 

1. O Amazon Q inicia a transformação. Ele exibirá atualizações de status durante toda a transformação. Após a conclusão, o Amazon Q fornecerá o caminho para onde os resultados da transformação, os logs e os arquivos de configuração serão enviados. 

   Seu código atualizado será confirmado para a nova ramificação criada pelo Amazon Q. O Amazon Q confirmará o código em uma ou várias confirmações, dependendo da seleção que você fez ao executar `qct configure`. 

1. Se estiver executando outra transformação após atualizar sua versão Java, inicie a segunda transformação na mesma ramificação em que você confirmou as alterações da primeira transformação. 

------
#### [ SQL conversion ]

Antes de começar, leia [Converter SQL incorporado em aplicações Java com o Amazon Q Developer](transform-sql.md) para entender os pré-requisitos para esse tipo de transformação. 

1. Para converter SQL incorporado, é necessário primeiro criar um arquivo YAML que contenha o caminho para o arquivo de metadados do esquema do [AWS DMS Schema Conversion](https://docs.aws.amazon.com/dms/latest/sbs/schema-conversion-oracle-postgresql.html).

   O formato necessário do arquivo é o seguinte: 

   ```
   schema_conv_metadata_path: <path-to-metadata-zip-file>
   ```

1. Execute o comando a seguir para iniciar uma transformação para uma conversão SQL. Substitua `<path-to-folder>` pelo caminho para a pasta com o código que você está transformando e `<path-to-sql-config-file>` pelo caminho para o arquivo YAML que criou na etapa 1.

   ```
   qct transform --source_folder <path-to-folder>
       --sql_conversion_config_file <path-to-sql-config-file>
   ```

1. Se o Amazon Q encontrar vários esquemas em seu arquivo de metadados do esquema, ele interromperá a transformação e fornecerá uma lista dos esquemas detectados. Selecione qual esquema usar para a conversão de SQL e, em seguida, adicione um novo campo `schema: <schema-name>` ao arquivo YAML. 

1. O Amazon Q inicia a transformação. Ele exibirá atualizações de status durante toda a transformação. Após a conclusão, o Amazon Q fornecerá o caminho para onde os resultados da transformação, os logs e os arquivos de configuração serão enviados. 

   Seu código atualizado será confirmado para a nova ramificação criada pelo Amazon Q.

------

## Pausar ou cancelar uma transformação
<a name="pause-cancel-CLI-transformations"></a>

Você pode optar por pausar ou cancelar seu trabalho de transformação atual. É possível pausar um trabalho de transformação por até 12 horas antes de poder retomá-lo.

**Como pausar ou cancelar um trabalho de transformação de código**

1. No terminal da CLI, pressione **Ctrl\$1C** no teclado.

1. Selecione se você deseja pausar ou cancelar sua transformação.
   + Insira `1` se quiser pausar o trabalho de transformação de código. Você pode retomar o trabalho em até 12 horas para continuar a transformação de código usando o seguinte comando QCT: ``qct transform --source_folder=≤/Path/Given/Originally/To/QCT>``.
   + Insira `2` se quiser cancelar o trabalho de transformação de código.

# Solucionar problemas de transformações na linha de comando
<a name="troubleshooting-CLI-transformations"></a>

As informações a seguir podem ajudar você a solucionar problemas comuns ao transformar aplicações na linha de comandos com o Amazon Q Developer.

## Por que meu token de portador não está sendo atualizado?
<a name="bearer-token-refresh"></a>

Se você vir o erro a seguir, significará que precisa atualizar o token de portador usado para autenticação.

```
Refreshing bearer token
('Error refreshing bearer token due to: ', InvalidGrantException('An error occurred (InvalidGrantException) when calling the CreateToken operation: '))
('Error getting bearer token due to: ', RuntimeError(('Error refreshing bearer token due to: ', InvalidGrantException('An error occurred (InvalidGrantException) when calling the CreateToken operation: '))))
```

Para resolver esse erro, execute o seguinte comando:

```
rm ~/.aws/qcodetransform/credentials.json
```

Após remover o arquivo de credenciais desatualizado, execute `qct transform` novamente para reiniciar a transformação.

## Por que a versão mais recente da ferramenta de linha de comandos não está sendo usada?
<a name="install-latest-version"></a>

Quando você baixa uma nova versão da ferramenta de linha de comandos para transformações, às vezes uma versão anterior da ferramenta ainda é usada.

Para garantir que você esteja usando a versão mais recente da ferramenta, baixe a [versão mais recente](transform-CLI-versions.md). Em seguida, execute o seguinte comando com o caminho para onde você descompactou a ferramenta, com base na arquitetura da sua máquina:

------
#### [ Linux\$1aarch64 ]

```
pip install <path/to/unzipped-tool>/Linux_aarch64/amzn_qct_cli-1.2.2-py3-none-any.whl --force-reinstall
```

------
#### [ Linux\$1x86\$164 ]

```
pip install <path/to/unzipped-tool>/Linux_x86_64/amzn_qct_cli-1.2.2-py3-none-any.whl --force-reinstall
```

------

**nota**  
Se estiver usando uma versão mais antiga da ferramenta de linha de comandos para transformações, substitua `1.2.2` pela [versão](transform-CLI-versions.md) que você baixou.

# Histórico de versões da ferramenta de transformação de linha de comandos do Amazon Q Developer
<a name="transform-CLI-versions"></a>

Revise as informações a seguir para obter detalhes sobre as versões atuais e anteriores da ferramenta de transformação da linha de comandos do Amazon Q Developer. A tabela inclui o link para download, a data de lançamento e as notas de lançamento de cada versão. 


****  

| Versão | Data de lançamento | Notas da versão | 
| --- | --- | --- | 
|   [1.2.2 (mais recente)](https://desktop-release.codewhisperer.us-east-1.amazonaws.com/amzn_qct_cli/amzn_qct_cli-1.2.2.zip)   | 26 de fevereiro de 2026 | Foi adicionado um banner promocional para o AWS Transform personalizado na CLI do QCT. Exibição de banner na execução do comando de transformação e texto de ajuda. Novo sinalizador --skip-banner para suprimir a saída do banner. | 
|   [1.2.1](https://desktop-release.codewhisperer.us-east-1.amazonaws.com/amzn_qct_cli/amzn_qct_cli-1.2.1.zip)   | 9 de setembro de 2025 | Extensão Maven atualizada para incluir pais primários POMs durante o upload inicial do projeto | 
|   [1.2.0](https://desktop-release.codewhisperer.us-east-1.amazonaws.com/amzn_qct_cli/amzn_qct_cli-1.2.0.zip)   | 7 de agosto de 2025 | Suporte adicionado para visualização do histórico de trabalhos e visualização da estrutura do módulo para projetos Java do Maven. | 
|   [1.1.0](https://desktop-release.codewhisperer.us-east-1.amazonaws.com/amzn_qct_cli/amzn_qct_cli-1.1.0.zip)   | 21 de julho de 2025 | Inclui suporte para coleta de telemetria sobre transformações. | 
|   [1.0.0](https://desktop-release.codewhisperer.us-east-1.amazonaws.com/amzn_qct_cli/amzn_qct_cli-1.0.0.zip)   | 27 de junho de 2025 | A ferramenta de transformação da linha de comando está disponível ao público em geral e oferece suporte à autenticação por meio AWS do IAM Identity Center somente com uma assinatura do Amazon Q Developer Pro. Suporte adicionado para assinaturas na região da Europa (Frankfurt). | 
|   [0.6.0](https://desktop-release.codewhisperer.us-east-1.amazonaws.com/amzn_qct_cli/amzn_qct_cli-0.6.0.zip)   | 6 de junho de 2025 | Inclui suporte para fornecer um arquivo de atualização de dependência e iterar o plano de transformação. | 
|   [0.5.2](https://desktop-release.codewhisperer.us-east-1.amazonaws.com/amzn_qct_cli/amzn_qct_cli-0.5.2.zip)   | 16 de abril de 2025 | Correções de bugs para resolver problemas ao retomar trabalhos e falhas em aplicações com dependências primárias. | 
|   [0.5.1](https://desktop-release.codewhisperer.us-east-1.amazonaws.com/amzn_qct_cli/amzn_qct_cli-0.5.1.zip)   | 13 de março de 2025 | Ao se autenticar com o IAM, você não precisará mais fornecer uma Região da AWS. Também inclui correção de bugs para incluir o status do trabalho nos logs de saída.  | 
|   [0.5.0](https://desktop-release.codewhisperer.us-east-1.amazonaws.com/amzn_qct_cli/amzn_qct_cli-0.5.0.zip)   | 28 de fevereiro de 2025 | Inclui suporte para autenticação com o IAM por meio do AWS CLI. | 
|   [0.4.1](https://desktop-release.codewhisperer.us-east-1.amazonaws.com/amzn_qct_cli/amzn_qct_cli-0.4.1.zip)   | 17 de fevereiro de 2025 | Correção de bug para incluir suporte para entrar no Região da AWS local em que sua assinatura do Amazon Q Developer está configurada. | 
|   [0.4.0](https://desktop-release.codewhisperer.us-east-1.amazonaws.com/amzn_qct_cli/amzn_qct_cli-0.4.0.zip)   | 14 de fevereiro de 2025 | Inclui suporte para atualizar aplicações Java para Java 21. | 
|   [0.3.0](https://desktop-release.codewhisperer.us-east-1.amazonaws.com/amzn_qct_cli/amzn_qct_cli-0.3.0.zip)   | 12 de fevereiro de 2025 | Inclui suporte para converter SQL incorporado em aplicações Java. | 
|   [0.2.0](https://desktop-release.codewhisperer.us-east-1.amazonaws.com/amzn_qct_cli/amzn_qct_cli-0.2.0.zip)   | 3 de fevereiro de 2025 | Inclui suporte para receber código Java atualizado em várias confirmações. | 
|  [0.1.0](https://desktop-release.codewhisperer.us-east-1.amazonaws.com/amzn_qct_cli/amzn_qct_cli-0.1.0.zip)  | 27 de novembro de 2024 | Versão inicial. Inclui suporte para atualizar versões de código Java com base na linha de comando. | 

# Visualizar o histórico de trabalhos de transformação
<a name="transformation-job-history"></a>

O Amazon Q fornece uma visão geral abrangente do histórico de trabalhos de transformação Java, permitindo que você acompanhe e revise seus trabalhos de transformação nos IDEs e na linha de comando.

O histórico de trabalhos de transformação inclui as seguintes informações sobre um trabalho:
+ **Data**: quando o trabalho de transformação foi executado
+ **Nome do projeto**: o nome do projeto transformado
+ **Status**: o status atual do trabalho de transformação
+ **Duração**: quanto tempo a transformação levou para ser concluída
+ **ID do trabalho**: um identificador exclusivo do trabalho de transformação
+ **Patch de diferenças**: um link ou caminho para o arquivo final do patch de diferenças mostrando todas as alterações no código
+ **Resumo**: um link ou caminho para o arquivo de resumo da transformação com detalhes sobre as alterações feitas

**nota**  
Somente as transformações executadas desde o lançamento desse recurso estarão disponíveis no histórico de trabalhos. Para saber a data de lançamento do recurso, consulte [Histórico do documento para o Amazon Q Developer User Guide](doc-history.md). 

## Visualizar o histórico de trabalhos em IDEs
<a name="ide-job-history"></a>

**nota**  
Atualmente, esse recurso está disponível somente no Visual Studio Code.

O Hub de transformação no Visual Studio Code fornece uma visão abrangente do histórico de trabalhos de transformação Java. 

Uma tabela no Hub de transformação lista seus 10 trabalhos de transformação mais recentes dos últimos 30 dias. Na tabela, você pode acessar artefatos de transformação e atualizar trabalhos para monitorar o progresso e obter artefatos ausentes.

### Recuperar artefatos de transformação
<a name="retrieve-artifacts"></a>

Você pode acessar artefatos de transformação, como os patches de diferenças e os arquivos de resumo, na tabela do histórico de trabalhos. Selecione os links apropriados para abrir a diferença ou o resumo em seu IDE.

Os artefatos são armazenados localmente no diretório `.aws/transform`, para que você também possa acessar artefatos de transformação baixados anteriormente de trabalhos anteriores.

### Atualizar status do trabalho
<a name="refresh-jobs"></a>

Você pode atualizar o status do trabalho na tabela de histórico do trabalho. Atualize um trabalho com falha para obter um status atualizado do lado do servidor que talvez não tenha chegado ao seu servidor ainda, como quando o Amazon Q consegue retomar um trabalho com falha. Você também pode atualizar trabalhos concluídos para baixar artefatos que talvez não tenham aparecido ainda. 

### Como o histórico de trabalhos é armazenado para trabalhos executados no IDE
<a name="ide-history-storage"></a>

No Visual Studio Code, todas as informações e artefatos do trabalho de transformação são armazenados localmente no diretório `.aws/transform`. O armazenamento é organizado da seguinte forma:

```
.aws/transform/
├── [project-name-1]/
│   ├── [job-id-1]/
│   │   ├── diff.patch
│   │   ├── [summary-1]/
│   │   │   └── summary.md
│   │   │   └── buildCommandOutput.log
│   └── [job-id-2]/
│       ├── diff.patch
│       ├── [summary-2]/
│       │   └── summary.md
│       │   └── buildCommandOutput.log
└── [project-name-2]/
    └── [job-id-3]/
        ├── diff.patch
        ├── [summary-3]/
        │   └── summary.md
        │   └── buildCommandOutput.log
```

## Visualizar o histórico de trabalhos na linha de comando
<a name="cli-job-history"></a>

Para transformações na linha de comando, o comando **qct history** fornece acesso ao histórico de trabalhos de transformação com opções de personalização.

Na CLI, as informações do histórico de trabalhos de transformação são armazenadas localmente no diretório `.aws/qcodetransform/history/`.

### Usar o comando qct history
<a name="cli-history-command"></a>

O comando básico para visualizar o histórico de trabalhos de transformação é:

```
qct history
```

Por padrão, esse comando exibe os 10 trabalhos de transformação mais recentes, além de todos os trabalhos pausados ou em andamento.

Você também pode especificar quantas entradas do histórico de trabalhos serão exibidas com o sinalizador **--limit**. Por exemplo, para mostrar 20 trabalhos, execute:

```
qct history --limit 20
```

# Solucionar problemas com transformações Java
<a name="troubleshooting-code-transformation"></a>

As informações a seguir podem ajudar a solucionar problemas comuns ao transformar aplicações Java com o Amazon Q Developer.

**Topics**
+ [

## Por que o Amazon Q não consegue fazer o upload do meu projeto?
](#project-upload-fail)
+ [

## Por que meus Maven comandos estão falhando?
](#maven-commands-failing)
+ [

## Como faço para adicionar o Maven ao meu `PATH`?
](#add-maven-to-path)
+ [

## Por que o Amazon Q não consegue criar meu código?
](#build-fail)
+ [

## Por que minha transformação falhou após 55 minutos?
](#build-time-limit)
+ [

## Por que não consigo baixar meu código transformado?
](#download-code-fail)
+ [

## Como faço para acessar os logs de transformação de código?
](#logs)
+ [

## Como faço para encontrar o ID do trabalho de transformação?
](#job-id)

## Por que o Amazon Q não consegue fazer o upload do meu projeto?
<a name="project-upload-fail"></a>

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. 

**Topics**
+ [

### Reduzir o tamanho do projeto
](#reduce-project-size)
+ [

### Defina as configurações de proxy no IDE
](#configure-proxy)
+ [

### Permitir acesso ao Amazon S3
](#allowlist-s3-bucket)

### Reduzir o tamanho do projeto
<a name="reduce-project-size"></a>

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?](#logs).

### Defina as configurações de proxy no IDE
<a name="configure-proxy"></a>

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](#allowlist-s3-bucket). 

#### Configurar certificados em JetBrains
<a name="configure-proxy-JB"></a>

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
   ```

------

1. 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.

1. 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>
      ```

   1. Para `<alias>`, você pode adicionar um nome para o certificado que está importando para consultá-lo posteriormente. Esta opção é opcional.

   1. 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.

   1. 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"
   ```

1. Durante o processo de importação, você será solicitado a inserir a senha do keystore. A senha padrão para o `cacerts` keystore é`changeit`. 

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

1. 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](https://www.jetbrains.com/help/idea/settings-tools-server-certificates.html), na documentação do JetBrains.

#### Configurar certificados em Visual Studio Code
<a name="configure-proxy-VSC"></a>

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.

##### Configurar certificados Visual Studio Code no macOS
<a name="certs-mac"></a>

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

##### Adicione certificados ao seu chaveiro do macOS
<a name="w2aac11c16c17c13c23b7b9c11b5b1b5"></a>

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](https://support.apple.com/guide/keychain-access/add-certificates-to-a-keychain-kyca2431/mac) do usuário do Keychain Access.

##### Instale a VSCode extensão Mac CA
<a name="w2aac11c16c17c13c23b7b9c11b5b1b7"></a>

A [ VSCode extensão Mac CA](https://marketplace.visualstudio.com/items?itemName=linhmtran168.mac-ca-vscode) 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**. 

1. Reinicie o VS Code.

##### Atualize as configurações de proxy VS Code no macOS
<a name="w2aac11c16c17c13c23b7b9c11b5b1b9"></a>

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.

1. Insira `proxy` na barra de pesquisa.

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

1. Desmarque **Http: Proxy Strict SSL**.

1. Na lista suspensa **Http: Proxy Support**, escolha **Ativar**.

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

##### Configurar certificados Visual Studio Code no Windows
<a name="certs-windows"></a>

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

##### Adicionar certificado como certificado raiz confiável no Windows
<a name="w2aac11c16c17c13c23b7b9c11b5b3b5"></a>

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. 

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

   ```
   certmgr.msc
   ```

1. Escolha a loja **Autoridades de Certificação Raiz Confiáveis**.

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

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

1. 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 name="w2aac11c16c17c13c23b7b9c11b5b3b7"></a>

A [ VSCode extensão Win-CA](https://marketplace.visualstudio.com/items?itemName=ukoloff.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.

1. Na lista suspensa **Injetar**, escolha **acrescentar**.

##### Atualize as configurações de proxy VS Code no Windows
<a name="w2aac11c16c17c13c23b7b9c11b5b3b9"></a>

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.

1. Insira `proxy` na barra de pesquisa.

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

1. Desmarque **Http: Proxy Strict SSL**.

1. Na lista suspensa **Http: Proxy Support**, escolha **Ativar**.

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

1. Reinicie o VS Code.

### Permitir acesso ao Amazon S3
<a name="allowlist-s3-bucket"></a>

Durante uma transformação, o Amazon Q carrega seu código para um bucket do 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](firewall.md#data-perimeters). 

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 name="maven-commands-failing"></a>

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
<a name="jetbrains"></a>

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
<a name="vscode"></a>

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`?](#add-maven-to-path). 

## Como faço para adicionar o Maven ao meu `PATH`?
<a name="add-maven-to-path"></a>

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.

1. 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.

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

1. 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.

1. 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.

1. Abra a janela Variáveis de ambiente:

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

   1. Insira `Edit environment variables for your account` e o selecione.

1. 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. 

1. 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
   ```

1. Escolha **OK** para salvar a entrada do caminho e, em seguida, escolha **OK** novamente na janela **Variáveis de ambiente**.

1. 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?
<a name="build-fail"></a>

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
<a name="remove-absolute-path"></a>

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
<a name="remove-external-databases"></a>

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?
<a name="build-time-limit"></a>

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?
<a name="download-code-fail"></a>

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. 

**Topics**
+ [

### Reduzir o tamanho do projeto
](#reduce-project-size-output)
+ [

### Download de diferença de código em 30 dias
](#download-30-hrs)
+ [

### Defina as configurações de proxy no IDE
](#configure-proxy-download)
+ [

### Remover caracteres curinga nas configurações de JetBrains proxy
](#remove-wildcard)

### Reduzir o tamanho do projeto
<a name="reduce-project-size-output"></a>

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, consulte[Usar o Amazon Q Developer para conversar com Suporte](support-chat.md).

### Download de diferença de código em 30 dias
<a name="download-30-hrs"></a>

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á se passaram mais de 30 dias desde a conclusão da transformação, reinicie-a para baixar o arquivo de comparação.

### Defina as configurações de proxy no IDE
<a name="configure-proxy-download"></a>

O Amazon Q faz o download do código atualizado de um bucket do 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](#configure-proxy).

### Remover caracteres curinga nas configurações de JetBrains proxy
<a name="remove-wildcard"></a>

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 (\$1) no campo **Sem proxy para** das configurações de proxy do seu IDE. O SDK do Java usado pelo Amazon Q não é compatível com 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](https://www.jetbrains.com/help/idea/settings-http-proxy.html) na JetBrains documentação.

## Como faço para acessar os logs de transformação de código?
<a name="logs"></a>

### Logs de acesso ao JetBrains
<a name="jetbrains-logs"></a>

Para obter informações sobre como acessar arquivos de log do JetBrains, consulte [Localização de arquivos de log IDE](https://intellij-support.jetbrains.com/hc/en-us/articles/207241085-Locating-IDE-log-files) na documentação do JetBrains. 

Para encontrar os logs emitidos pelo Amazon Q no JetBrains, pesquise nos logs 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
<a name="vsc-logs"></a>

Para encontrar logs emitidos pelo Amazon Q no VS Code, conclua as seguintes etapas:

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

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

1. 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?
<a name="job-id"></a>

### Encontre seu ID de emprego em JetBrains
<a name="jetbrains"></a>

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
<a name="vs-code"></a>

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). 