Como o Amazon Q Developer transforma o código para atualizações da linguagem 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á.

Como o Amazon Q Developer transforma o código para atualizações da linguagem Java

Para transformar seu código, o Amazon Q Developer gera um plano de transformação que ele usa para atualizar a versão da linguagem de código do seu 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 seu código atualizado compatível com o JDK de destino, é necessária uma transformação adicional para atualizar as bibliotecas e dependências do seu 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

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

Para transformar seu código, o Amazon Q tenta atualizar seu código para a versão Java de destino com base nas mudanças 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 a 17

  • Java 8 a 21

  • Java 11 a 17

  • Java 11 a 21

  • Java 17 a 21

O Amazon Q Developer faz as alterações mínimas necessárias para tornar seu código compatível com a versão Java de destino. Depois de atualizar com sucesso para o Java 17 ou 21, é necessária uma transformação adicional para atualizar as bibliotecas e dependências do seu projeto. Escolha a mesma versão do código-fonte e a mesma versão do código-alvo (por exemplo, 17 a 17).

O Amazon Q tenta fazer as seguintes alterações ao atualizar seu código:

  • Atualize os componentes de código obsoletos de acordo com as recomendações da versão Java de destino

  • Atualize 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

Revisando o resumo da transformação e aceitando as alterações

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

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 atributos como /dev e @workspace para incluir mais do seu projeto como contexto e obter sugestões para vários arquivos ao mesmo tempo.