Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. 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 exigir uma atualização do tempo de execução do JDK.
Iniciar uma atualização da 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
Compatibilidade de manuseamento
Se sua versão atual do JDK for compatível com a versão especificada do Spring Boot - por exemplo, JDK 17+ para Spring Boot 3.2 - a ferramenta executará um upgrade somente de estrutura. As versões JDK de origem e de destino permanecem as mesmas e a versão de destino do Spring Boot é definida de acordo com o prompt inicial.
Se sua versão atual do JDK não for compatível com a versão do framework de destino - por exemplo, ao atualizar do JDK 8 para o Spring Boot 3.2 - a ferramenta atualiza automaticamente o JDK para a versão mínima suportada exigida pelo framework - neste caso, JDK 17 - além de executar o upgrade do framework.
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 de terceiros específica - 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 exclusivamente 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 o código ou os arquivos de configuração para garantir a compatibilidade com a nova versão da biblioteca.
- Execute a validação de compilação para confirmar que o projeto é compilado com êxito.
- Execute verificações CVE para detetar e revelar 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 dependências com transparência e controle.