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á.
Atualizar versões do Java com o Amazon Q Developer
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.
Tópicos
Atualizações de Java suportadas e IDEs
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.
| 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
Antes de continuar, certifique-se de que você concluiu as etapas em Configurar o Amazon Q no IDE.
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 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.
-
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
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 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
Para configurar seu projeto, use as informações a seguir para o IDE que você está usando.
Configurar um projeto no JetBrains
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:
-
No seu JetBrains IDE, escolha Arquivo e, em seguida, Estrutura do projeto.
-
A janela Project Structure é aberta. Em Configurações do projeto, escolha Módulos.
-
Para atualizar o JDK do seu projeto, escolha na lista suspensa ao lado do SDK.
-
Para atualizar o idioma do seu projeto, escolha no menu suspenso ao lado do nível do idioma.
-
-
Em Configurações do projeto, escolha Módulos.
-
Para atualizar seu módulo JDK, escolha na lista suspensa ao lado do SDK.
-
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
Atualizar as configurações do Maven
Para atualizar o JRE do Maven Runner, siga as etapas a seguir:
-
No IDE JetBrains, selecione o ícone de engrenagem e, em seguida, escolha Configurações no menu que é exibido.
-
Na janela Configurações, escolha Construção, Execução, Implantação depois Ferramentas de Construção, depois Maven e depois Executor.
-
No campo JRE, escolha o JDK usado para criar o módulo que você está transformando.
Configurar um projeto no VS Code
Para configurar seu projeto em VS Code, seu projeto deve conter o seguinte:
-
O arquivo
pom.xmlna pasta do projeto -
O arquivo
.javano 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
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? 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)
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. 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
propertiesno arquivopom.xmlda sua aplicação. -
originType: se a dependência é primária ou de terceiros, especificada por FIRST_PARTY ou THIRD_PARTY.
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
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 e Solução de problemas.
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.