Modernize aplicações Java usando a modernização do GitHub Copilot na CLI do Copilot

Este artigo oferece uma visão geral de como os programadores Java podem modernizar as suas aplicações utilizando o plugin GitHub Copilot modernização em Copilot CLI. Ao usar esta abordagem, os programadores podem modernizar aplicações onde quer que programem. O plugin oferece uma experiência fluida e completa – desde a atualização e migração até à implementação – ajudando as equipas a acelerar a transformação, aumentar a produtividade e mover as suas aplicações com confiança para plataformas modernas.

Captura de ecrã da CLI do GitHub Copilot que mostra um prompt de modernização do GitHub Copilot.

Observação

A CLI GitHub Copilot está disponível com os planos GitHub Copilot Pro, GitHub Copilot Pro+, GitHub Copilot Business e GitHub Copilot Enterprise. Se receber o Copilot de uma organização, a política de CLI do Copilot deve estar ativada nas definições da organização.

Ao usar a CLI do Copilot para modernização, pode executar tarefas de modernização diretamente a partir do terminal, sem necessidade de mudar para um IDE. Esta abordagem suporta tanto fluxos de trabalho interativos – com humanos no ciclo – como em lote.

O que 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 obsoletas
Migração do Azure Avaliar e migrar aplicações Java para serviços Azure (Azure Service Bus, SQL do Azure, Redis, Azure Key Vault, Application Insights, Managed Identity)
CVE e correção de vulnerabilidades Analisar e corrigir vulnerabilidades CVE em dependências do Maven, incluindo análise de dependências do Log4j, Spring, Jackson e OWASP
Rearquitetura de aplicações Reescritas estruturais, como a decomposição de um monólito em microsserviços, a modernização de interfaces de utilizador legadas e a extração de módulos
Implementar no Azure Implementar aplicações Java atualizadas ou migradas diretamente para o Azure

Pré-requisitos

Observação

Uma conta Azure é necessária apenas para implementar recursos no Azure, e não é necessária quando se usa a modernização do GitHub Copilot para fazer alterações de código.

Instala o plugin

  1. Adiciona o marketplace e instala o plugin:

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

    /plugin list
    

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

Sugestão

Para atualizar o plugin 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: Começar diretamente com o agente

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

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

Opção 2: Selecionar o agente dentro do CLI do Copilot

Se já estiveres numa sessão Copilot CLI, usa o comando /agent para mudar para o agente de modernização:

/agent

Selecione modernize da lista.

Importante

Deve selecionar o agente github-copilot-modernization:modernize antes de executar quaisquer pedidos de modernização. Sem selecionar o agente, a CLI do Copilot usa o agente predefinido, que não pode usar toda a orquestração multi-agente e as capacidades de migração especializadas fornecidas pelo plugin.

Execute um prompt de modernização

Quando o agente estiver ativo, descreva o que quer 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 não assistida, use a opção --allow-all:

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

Como funciona o fluxo de trabalho

O plugin utiliza um fluxo de trabalho trifásico que corre automaticamente. Não precisas de invocar cada fase manualmente – o orquestrador trata do encaminhamento com base no teu pedido.

Fase 1: Avaliação

  • Descobre aplicações Java no caminho especificado.
  • Analisa dependências, frameworks e a versão Java.
  • Identifica oportunidades e riscos de modernização.
  • Guarda resultados em .github/modernize/assessment/.

Fase 2: Planeamento

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

Fase 3: Execução

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

O orquestrador suporta múltiplos pontos de entrada dependendo da sua intenção:

Workflow Quando é ativado O que acontece
Intenção ampla "Modernizar a minha aplicação" Avaliação completa → planeamento → execução
Tarefa específica "atualização para Java 21" Ignora a avaliação, vai diretamente para o plano → execução
Executar o plano existente "executar o plano" Ignora a avaliação e o planeamento, executa um plano existente
Headless Execução não assistida com --allow-all Igual à intenção genérica sem pedidos do utilizador

Cenários comuns

Atualize a sua aplicação Java

Para atualizar a sua aplicação Java para uma versão mais recente de runtime ou framework, use o seguinte exemplo:

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

A tarefa de modernização é então executada, incluindo a geração do plano de atualização, a execução de correção de código, a construção do projeto e a verificação de vulnerabilidades, conforme mostrado na seguinte captura de ecrã:

Captura de ecrã do GitHub Copilot CLI que mostra tarefas em execução em cenários de atualização em Java.

O projeto é atualizado com sucesso para JDK 21 e Spring Boot 3.2, e é apresentado um resumo da atualização.

Captura de ecrã da GitHub Copilot CLI que mostra o resumo Java da atualização.

Migre a sua aplicação Java para o Azure

Para migrar a sua aplicação Java para o Azure, descreva o seu cenário de migração, como mostrado no exemplo seguinte. Para mais informações sobre tarefas de migração predefinidas, veja Tarefas pré-definidas para modernização GitHub Copilot para programadores Java.

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

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

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

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

Captura de ecrã de GitHub Copilot CLI que mostra o resumo da migração Java.

Implemente a sua aplicação Java no Azure

Após atualizar ou migrar a sua aplicação, pode implementá-la diretamente a partir do Copilot CLI 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.

Ao usar este prompt, a tarefa de implementação é executada e mostra o progresso na CLI do Copilot.

Captura de ecrã de GitHub Copilot CLI que mostra os detalhes Java de implementação.

Quando o projeto é implementado com sucesso, é apresentado um resumo da implementação.

Captura de ecrã de GitHub Copilot CLI que mostra o resumo Java de implementação.

Solução de problemas

Plugin 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

Avaliação falha: nenhuma aplicação Java encontrada

  • Verifique se pom.xml ou build.gradle existe na raiz do projeto.
  • Certifica-te de que estás no diretório correto antes de começares o Copilot CLI.

Problemas com o servidor MCP

O plugin utiliza o servidor MCP definido na sua configuração. Se encontrares problemas, tenta reinstalar o plugin para reiniciar a configuração do MCP.

Fornecer comentários

Se tiveres algum feedback sobre o plugin GitHub Copilot modernization, cria um problema no repositório github-copilot-appmod.

Próximo passo