Modernizar aplicativos Java usando a modernização do GitHub Copilot no CLI Copilot

Este artigo fornece uma visão geral de como os desenvolvedores Java podem modernizar seus aplicativos usando o plug-in GitHub Copilot no Copilot CLI. Usando essa abordagem, os desenvolvedores podem modernizar aplicativos onde quer que eles codificam. O plug-in oferece uma experiência perfeita de ponta a ponta - desde a atualização e a migração até a implantação - ajudando as equipes a acelerar a transformação, aumentar a produtividade e mover seus aplicativos com confiança para plataformas modernas.

Screenshot da interface de linha de comando do GitHub Copilot que mostra um prompt de modernização do GitHub Copilot.

Observação

GitHub Copilot CLI está disponível com os planos GitHub Copilot Pro, GitHub Copilot Pro+, GitHub Copilot Business e GitHub Copilot Enterprise. Se você receber Copilot de uma organização, a política da CLI Copilot deverá ser habilitada nas configurações da organização.

Usando Copilot CLI para modernização, você pode executar tarefas de modernização diretamente do terminal, sem a necessidade de mudar para um IDE. Essa abordagem dá suporte a fluxos de trabalho interativos – humano no ciclo – e em lote.

O que você pode fazer

Capacidade Description
atualização do Java Atualizar Java versão (8 → 11 → 17 → 21 → 25), migrar Spring Boot 2.x para 3.x, javax para jakarta e APIs preteridas
Migração do Azure Avaliar e migrar aplicativos Java para serviços de Azure (Barramento de Serviço do Azure, SQL do Azure, Redis, Azure Key Vault, Application Insights, Identidade Gerenciada)
Correção de CVE e vulnerabilidade Examinar e corrigir vulnerabilidades de CVE em dependências do Maven, incluindo análise de dependência do Log4j, Spring, Jackson e OWASP
Rearquitectura do aplicativo Regravações estruturais, como decomposição de monolito para microsserviços, modernização da interface do usuário herdada e extração de módulo
Implantar no Azure Implantar aplicativos Java atualizados ou migrados diretamente para Azure

Pré-requisitos

Observação

Uma conta do Azure é necessária apenas para implantar recursos no Azure e não é necessária ao usar a modernização com o GitHub Copilot para fazer alterações de código.

Instalar o plug-in

  1. Adicione o marketplace e instale o plug-in:

    copilot plugin marketplace add microsoft/github-copilot-modernization
    copilot plugin install github-copilot-modernization@github-copilot-modernization
    
  2. Verifique se o plug-in está instalado listando plug-ins instalados:

    /plugin list
    

    Você deve ver github-copilot-modernization@github-copilot-modernization na lista.

Dica

Para atualizar o plug-in quando uma nova versão estiver disponível, execute:

copilot plugin update github-copilot-modernization@github-copilot-modernization

Iniciar uma tarefa de modernização

Opção 1: iniciar diretamente com o agente

Navegue até a pasta Java projeto e inicie Copilot CLI com o agente de modernização:

cd /path/to/your/java-app
copilot --agent=github-copilot-modernization:modernize

Opção 2: Selecionar o agente de dentro da CLI Copilot

Se você já estiver em uma sessão da CLI Copilot, use o comando /agent para alternar para o agente de modernização:

/agent

Selecione modernize na lista.

Importante

Você deve selecionar o github-copilot-modernization:modernize agente antes de executar os prompts de modernização. Sem selecionar o agente, Copilot CLI usa o agente padrão, que não pode usar a orquestração completa de vários agentes e os recursos de migração especializados fornecidos pelo plug-in.

Executar um prompt de modernização

Depois que o agente estiver ativo, descreva o que você deseja em linguagem natural:

modernize my application

Ou seja mais específico:

upgrade this app to Java 21 and Spring Boot 3.2
migrate this Spring Boot app to Azure
fix CVE vulnerabilities in my project

Para execução autônoma, use o --allow-all sinalizador:

copilot --agent=github-copilot-modernization:modernize --allow-all

Como funciona o fluxo de trabalho

O plug-in usa um fluxo de trabalho de três fases que é executado automaticamente. Você não precisa invocar cada fase manualmente – o orquestrador manipula o roteamento com base em sua solicitação.

Fase 1: Avaliação

  • Detecta aplicativos Java no caminho especificado.
  • Analisa dependências, estruturas e Java versão.
  • Identifica oportunidades e riscos de modernização.
  • Salva resultados em .github/modernize/assessment/.

Fase 2: Planejamento

  • Carrega os resultados da avaliação.
  • Gera um plano de tarefa executável.
  • Salva o plano em .github/modernize/<app>/plan.md e tasks.json.

Fase 3: Execução

  • Roteia tarefas para agentes executores especializados com base no tipo de tarefa.
  • Cada executor consulta uma base de dados de conhecimento para padrões de migração.
  • Monitora o progresso com nova tentativa automática em caso de falha.
  • Cria confirmações detalhadas por tarefa para revisão.

O orquestrador dá suporte a vários pontos de entrada, dependendo de sua intenção:

Workflow Quando ele é ativado O que acontece
Intenção ampla "modernizar meu aplicativo" Avaliar → plano completo → executar o pipeline
Tarefa específica "atualizar para Java 21" Ignora a avaliação, vai direto para o plano → executar
Executar plano existente "executar o plano" Ignora a avaliação e o planejamento, executa um plano existente
Headless Execução sem supervisão com --allow-all Igual à intenção abrangente sem solicitações do usuário

Cenários comuns

Atualizar seu aplicativo Java

Para atualizar seu aplicativo Java para uma versão mais recente do runtime ou da estrutura, use o seguinte exemplo:

copilot --agent=github-copilot-modernization:modernize
upgrade this project to JDK 21 and Spring Boot 3.2

Em seguida, a tarefa de modernização é executada, incluindo a geração do plano de atualização, a execução da correção de código, a criação do projeto e a verificação de vulnerabilidades, conforme mostrado na captura de tela a seguir:

Screenshot da CLI GitHub Copilot que mostra tarefas em execução em cenários de atualização Java.

O projeto foi atualizado com êxito para o JDK 21 e o Spring Boot 3.2 e um resumo da atualização é exibido.

Screenshot da CLI GitHub Copilot que mostra o resumo da atualização Java.

Migrar seu aplicativo Java para Azure

Para migrar seu aplicativo Java para Azure, descreva seu cenário de migração, conforme mostrado no exemplo a seguir. Para obter mais informações sobre tarefas de migração predefinidas, consulte Tarefas Predefinidas para a modernização do GitHub Copilot para desenvolvedores Java.

copilot --agent=github-copilot-modernization:modernize
migrate this application from S3 to Azure Blob Storage

Com esse prompt, a tarefa de migração é executada e mostra o progresso na CLI Copilot.

Screenshot da CLI GitHub Copilot que mostra tarefas em execução em cenários de migração Java.

Quando o projeto é migrado com êxito para o Microsoft Armazenamento de Blobs do Azure, um resumo da migração é exibido.

Screenshot da CLI GitHub Copilot que mostra o resumo da migração Java.

Implantar seu aplicativo Java para Azure

Depois de atualizar ou migrar seu aplicativo, você pode implantá-lo diretamente da CLI Copilot usando o seguinte exemplo:

copilot --agent=github-copilot-modernization:modernize
Scan my project and help me plan how to containerize my application using the #appmod-get-containerization-plan tool. Execute the plan. The end goal is to have Dockerfiles that are able to be built.

Usando esse prompt, a tarefa de implantação é executada e mostra o progresso na CLI Copilot.

Screenshot da CLI GitHub Copilot que mostra os detalhes da implantação Java.

Quando o projeto é implantado com êxito, um resumo da implantação é exibido.

Screenshot da CLI GitHub Copilot que mostra o resumo da implantação Java.

Resolução de problemas

Plug-in não encontrado

# Verify marketplace is added
copilot plugin marketplace list

# Re-add the marketplace if needed
copilot plugin marketplace add microsoft/github-copilot-modernization

# Reinstall
copilot plugin install github-copilot-modernization@github-copilot-modernization

Falha na avaliação: nenhum aplicativo Java encontrado

  • Verifique se pom.xml ou build.gradle existe na raiz do seu projeto.
  • Verifique se você está no diretório correto antes de iniciar Copilot CLI.

Problemas de servidor MCP

O plug-in usa o servidor MCP definido em sua configuração. Se você encontrar problemas, tente reinstalar o plug-in para redefinir a configuração do MCP.

Fornecer comentários

Se você tiver algum comentário sobre o plug-in de modernização do GitHub Copilot, abra uma issue no repositório github-copilot-appmod.

Próxima etapa