Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo mostra como usar a modernização do aplicativo GitHub Copilot para atualizar uma estrutura Java ou dependência de terceiros sem a necessidade de uma atualização de runtime do JDK.
Iniciar uma atualização de estrutura
Para iniciar esse tipo de atualização, você pode iniciar um prompt no modo de agente. Por exemplo:
upgrade this Java project to Spring Boot 3.2
Lidar com a compatibilidade
Se a versão atual do JDK for compatível com a versão do Spring Boot especificada - por exemplo, JDK 17+ para Spring Boot 3.2 - a ferramenta executará uma atualização somente de estrutura. As versões do JDK de origem e de destino permanecem as mesmas e a versão do Spring Boot de destino é definida de acordo com o prompt inicial.
Se a versão atual do JDK não for compatível com a versão da estrutura de destino - por exemplo, ao atualizar do JDK 8 para o Spring Boot 3.2 - a ferramenta atualizará automaticamente o JDK para a versão mínima com suporte exigida pela estrutura - nesse caso, o JDK 17 - além de executar a atualização da estrutura.
Atualizar bibliotecas de terceiros
Você também pode usar um prompt semelhante para atualizar uma biblioteca de terceiros. Por exemplo:
use the java upgrade tools to upgrade "com.google.inject.guice" to 6.0.0 in this java project
Quando você inicia um prompt para atualizar uma biblioteca específica de terceiros , por exemplo, Upgrade com.google.inject.guide to version 3.17.0 o GitHub Copilot analisa o projeto atual e gera um plano de atualização focado apenas na atualização da dependência solicitada.
O que o Copilot faz durante a atualização
Como parte desse processo, o Copilot pode executar as seguintes tarefas:
- Modifique arquivos de código ou de configuração para garantir a compatibilidade com a nova versão da biblioteca.
- Execute a validação de build para confirmar se o projeto é compilado com êxito.
- Execute verificações CVE para detectar e exibir quaisquer problemas de segurança.
- Execute a validação de teste para garantir que nenhuma nova falha de teste seja introduzida.
Esse fluxo de atualização direcionado permite modernizar as dependências com transparência e controle.