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 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.
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
- GitHub Copilot CLI.
- Uma subscrição do GitHub Copilot. Para mais informações, consulte planos do Copilot.
- Node.js versão 22 ou posterior.
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
Adiciona o marketplace e instala o plugin:
copilot plugin marketplace add microsoft/github-copilot-modernization copilot plugin install github-copilot-modernization@github-copilot-modernizationVerifique se o plugin está instalado listando os plugins instalados:
/plugin listVocê deve ver
github-copilot-modernization@github-copilot-modernizationna 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.mdetasks.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ã:
O projeto é atualizado com sucesso para JDK 21 e Spring Boot 3.2, e é apresentado um resumo 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.
Quando o projeto é migrado com sucesso para o Microsoft Armazenamento de Blobs do Azure, é apresentado um resumo da migração.
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.
Quando o projeto é implementado com sucesso, é apresentado um resumo da 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.xmloubuild.gradleexiste 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.