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á.
Atualizando versões Java com o Amazon Q Developer
O Amazon Q Developer pode atualizar seus aplicativos 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 seu código, o Amazon Q primeiro cria seu código na versão do idioma de origem e verifica se ele tem as informações necessárias para realizar a transformação. Depois que o Amazon Q transformar seu código com sucesso, você verifica e aceita as alterações em seu IDE. 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. Para obter mais informações sobre como o Amazon Q transforma seu código, consulteComo 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 oferece suporte às seguintes versões de código-fonte e versões de destino de Java para transformações. A transformação do código para a mesma versão do 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 suportadas |
---|---|
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 em 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 Javaversão compatível e é baseado emMaven.
-
Seu projeto foi construído com sucesso Maven em seu IDE. MavenA versão 3.8 ou posterior é atualmente suportada.
-
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.
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.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
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ê pode especificar dependências de terceiros e primárias que, de outra forma, o Amazon Q talvez não soubesse atualizar.
As dependências primárias referem-se à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 Criando código em seu ambiente local. Dependências de terceiros estão 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, Java 8 a 17). Você pode iniciar uma transformação separada (17 a 17 ou 21 a 21) após a atualização inicial do JDK para atualizar dependências de terceiros.
Depois que 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, você pode especificar dependências de terceiros e suas versões em um arquivo YAML para atualizar essas dependências somente durante a transformação do upgrade 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 você configurou o arquivo corretamente. Os campos a seguir são obrigatórios no arquivo YAML:
-
name - O nome do arquivo de atualização da dependência.
-
descrição (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.
-
dependências - contém o nome e a versão das bibliotecas a serem atualizadas.
-
plug-ins - Contém os nomes e as versões dos plug-ins a serem atualizados.
-
identificador - O nome da biblioteca, plug-in ou outra dependência.
-
targetVersion - A versão da dependência para a qual fazer o upgrade.
-
versionProperty (opcional) - A versão da dependência que você está definindo, conforme definida com a
properties
tag no arquivo do seu aplicativo.pom.xml
-
OriginType - Se a dependência é própria ou de terceiros, especificada por FIRST_PARTY ou THIRD_PARTY.
Veja a seguir um exemplo de um arquivo YAML de upgrade 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 seu código
Antes de transformar seu próprio código, talvez você queira testar se seu IDE está configurado corretamente transformando um projeto de amostra. A seguir está um exemplo de GitHub projeto que é elegível para transformação de código: https://github.com/aws-samples/aws-appconfig-java-sample
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 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.
Conclua estas etapas para atualizar a versão da linguagem de código do projeto ou módulo de código.