Skip to main content

Modernizando aplicativos Java com GitHub Copilot

          GitHub Copilot pode ajudar a modernizar e migrar aplicativos Java avaliando sua base de código, identificando caminhos de atualização e automatizando tarefas de correção e contêinerização.

A extensão de modernização de aplicativo GitHub Copilot em Visual Studio Code automatiza atualizações Java identificando estruturas desatualizadas, APIs preteridas e bloqueadores de atualização. agente de nuvem Copilot aplica alterações de código, atualiza arquivos de build e resolve problemas de build e CVE para você.

As recomendações e relatórios produzidos pela extensão podem ajudar suas equipes a adotar novas tecnologias rapidamente e reduzir a dívida técnica. Copilot orienta você por meio de atualizações com etapas e resumos acionáveis, acelerando e protegendo suas migrações, reduzindo o esforço manual.

Para obter recursos de extensão, configuração e instruções de interface do usuário, consulte A documentação de modernização do GitHub aplicativo Copilot na documentação do Microsoft.

Estrutura de modernização

Ao iniciar uma sessão de agente usando a extensão de atualização Java, a extensão ajudará você a modernizar seu aplicativo Java usando a estrutura a seguir.

  •         **Execute tarefas de avaliação**. A extensão pode analisar código, configuração e dependências, fornecendo uma avaliação do estado atual do aplicativo.
    
  •         **Crie um plano de modernização personalizável**. Com base na avaliação, a extensão pode sugerir um caminho de modernização, incluindo as atualizações necessárias da estrutura e da biblioteca.
    
  •         **Identificação antecipada de problemas**. A extensão identifica dependências, bibliotecas desatualizadas e recursos de linguagem e possíveis problemas de migração. A extensão fornece estratégias acionáveis para corrigir problemas.
    
  •         **Personalize seu plano**. Edite o plano de modernização para as necessidades específicas do aplicativo, como incorporar padrões e práticas organizacionais, excluir determinados componentes ou priorizar recursos específicos ou padrões de design.
    
  •         **Implemente seu plano**. A extensão pode ajudar na aplicação de alterações de código, atualização de arquivos de build, refatoração de APIs preteridas e resolução de problemas de build e sintaxe. A extensão corrigirá automaticamente os erros de build e executará validações de teste após cada etapa para garantir a estabilidade e as alterações sem erros. <!-- markdownlint-disable-line GHD046 -->
    
  •         **Examine suas alterações**. A extensão pode produzir um relatório de atualização detalhado, resumindo as alterações aplicadas e listando quaisquer problemas não corrigidos e as etapas restantes para sua modernização.
    
  •         **Gerar testes de unidade**. A extensão avalia automaticamente os testes existentes e gera novos arquivos de teste e os adiciona ao workspace. Um relatório é produzido resumindo os resultados do teste de pré e pós-geração.
    
  •         **Conteinerize seu aplicativo**. A extensão pode gerar automaticamente Dockerfiles, criar imagens e validar tudo para que seu aplicativo modernizado seja executado dentro dos serviços de contêiner, como AKS (Serviço de Kubernetes do Azure), Aplicativos de Contêiner do Azure (ACA) e AKS Automatic, permitindo uma implantação e escalabilidade mais fáceis.
    
  •         **Prepare-se para a implantação**. A extensão pode ajudá-lo a preparar seu aplicativo para contêinerização e implantação, gerando artefatos de implantação, como scripts e configurações.
    
  •         **Automatizar a implantação no Azure**. A extensão pode ajudá-lo a implantar ou provisionar seu aplicativo modernizado para Azure, gerando artefatos necessários e Azure recursos e executando etapas de execução.
    

Você pode melhorar a compreensão da sua equipe sobre a base de código do aplicativo e economizar tempo e esforço usando Copilot para ajudar com tarefas complexas de modernização, como:

  • Engenharia reversa e transformação de código
  • Análise de vulnerabilidade e dependência e verificações de comportamento de código e correção
  • Geração automatizada de ativos, documentação e relatórios de atualização
  • Geração e avaliação de teste
  • Automação de implantação

Visão geral do fluxo de trabalho de modernização

Neste exemplo, percorreremos as etapas de alto nível para modernizar um aplicativo Java usando a extensão de modernização de aplicativo GitHub Copilot em Visual Studio Code.

Para obter instruções e pré-requisitos detalhados, consulte Quickstart: atualize um projeto de Java com GitHub Copilot modernização do aplicativo na documentação do Microsoft.

Observação

Durante o fluxo de trabalho de modernização, você pode frequentemente ser solicitado por agente de nuvem Copilot a confirmar antes que ações específicas sejam executadas.

1. Abra seu projeto de Java

Use VS Code para abrir a pasta do projeto.

Ações sugeridas

  • Verifique se o projeto compila com êxito antes de prosseguir.
  • Se você encontrar problemas de compilação, você pode usar Copilot para ajudar a resolvê-los antes de iniciar o processo de modernização.

2. Iniciar um workspace de modernização

Inicie Bate-Papo Copilot e inicie uma nova sessão no modo de agente. Escolha GitHub Copilot modernização de aplicativo – atualização para Java das ferramentas disponíveis.

3. Analisar seu projeto em busca de oportunidades de atualização

          Copilot examinará sua base de código. A análise inclui:
  • Detecção de estruturas desatualizadas (por exemplo, Spring Boot, Jakarta EE, versões Java SE).
  • Identificação de APIs preteridas e padrões obsoletos.
  • Sugestões de oportunidades de atualização.

Você pode examinar as descobertas e um plano de atualização estruturado no editor, que exibirá:

  • Versões atuais e recomendadas para estruturas e dependências.
  • Locais de código que exigem migração ou refatoração.
  • Atualizar bloqueadores ou dependências incompatíveis.

Ações sugeridas

  • Examine e personalize o plano de modernização antes de prosseguir com a atualização.

4. Aplicar Copilot recomendações de atualização

Use Copilot para aplicar ou revisar alterações de código, atualizar arquivos de build e APIs de refatoração.

Se forem encontrados erros de build, Copilot poderá inserir um loop de correção e teste até que o projeto seja compilado de forma limpa.

          agente de nuvem Copilot as alterações automatizadas podem incluir:
  • Atualizando os arquivos pom.xml ou build.gradle para novas versões das dependências.

  • Gerando solicitações de pull ou confirmando alterações diretamente.

  • Refatoração de código para alterações de API. Por exemplo, migrando de javax.* para jakarta.* namespaces.

  • Sugerindo ou aplicando transformações de código para resolver alterações interruptivas.

            Copilot itera e continua a corrigir erros até que o projeto seja compilado com êxito e não haja mais problemas que exijam correção. É possível que problemas menores que não exijam correções imediatas possam permanecer. Isso não impedirá a conclusão da atualização.
    

Ações sugeridas

  • Examine todas as alterações de código em seu editor de diferenciação antes de aceitar.
  • Use Copilot para explicar mais e documentar alterações de código.
  • Quando a extensão solicitar que você faça isso, aceite as opções para verificar as dependências modificadas para CVEs conhecidos e validar o comportamento do código quanto à consistência.
  • Examine os problemas restantes e avalie sua importância.

5. Exibir o relatório de atualização e as próximas etapas sugeridas

Depois que o processo de atualização for concluído, Copilot gerará um relatório de atualização resumida que inclui:

  • Informações do Projeto
  • Linhas de código alteradas.
  • Dependências atualizadas.
  • Alterações de código resumidas.
  • Correção de problemas de inconsistência de código e segurança CVE, se houver.
  • Problemas de CVE secundários não corrigidos.

Ações sugeridas

  • Examine o relatório para entender as alterações feitas.
  • Siga as próximas etapas sugeridas para finalizar sua modernização.

Concluindo a modernização

Mais atividades para apoiar sua modernização podem incluir:

  •         **Verificar** a modernização inicial e as alterações de código cuidadosamente. Verifique se os padrões de codificação e as práticas recomendadas da sua empresa são atendidos.
    
  •         **Examinar** o código modificado de perto. Por exemplo, verifique se o código gerado se ajusta à finalidade e à arquitetura do seu projeto. Para obter mais sugestões, consulte [AUTOTITLE](/copilot/tutorials/review-ai-generated-code).
    
  •         **Correção de bugs**. Verifique o conteúdo específico para erros sutis e use suas próprias ferramentas de depuração e linagem para avaliar o novo conteúdo.
    
  •         **Escrevendo testes** e identificando lacunas nos testes para o projeto aprimorado.
    
  •         **Limpar** o projeto removendo todos os arquivos que não são mais necessários.
    
  •         **Refatorar** o código na nova linguagem. O processo de modernização pode ter resultado em um projeto cuja arquitetura foi baseada na do seu projeto original, mas essa não é mais a solução ideal ou ideal para suas necessidades. Agora você pode querer refatorar o código para fazer o melhor uso dos recursos do idioma e da estrutura usada.
    
  •         **Atualizando a documentação**. As informações do projeto e os arquivos de contribuição agora podem estar desatualizados e precisam ser reescritos.
    
  •         **Contêinerização**. Atualize o código do aplicativo, gere arquivos de contêinerização, como Dockerfiles, e crie a imagem para testar a validade. Se necessário, Copilot pode executar essas tarefas de contêinerização e também criar um plano abrangente detalhando as próximas etapas.
    
  •         **Deploying** o aplicativo modernizado em seus ambientes de destino, incluindo plataformas de nuvem, como Microsoft Azure.