# 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.

<!-- expires 2026-10-31 -->

<!-- When this expires, check with the stakeholder for release #18998 on whether or not the content is still needed -->

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.
Copilot cloud agent aplica alterações de código, atualiza arquivos de build e resolve problemas de build e CVE para você. <!-- markdownlint-disable-line GHD046 -->

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ê durante atualizações com etapas acionáveis e resumos, acelerando e protegendo suas migrações, além de reduzir 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](https://learn.microsoft.com/en-us/azure/developer/github-copilot-app-modernization/) na documentação do Microsoft.

## Estrutura de modernização

Ao iniciar uma sessão de agente usando a extensão de atualização [Java](https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-java-upgrade), 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.
* ```
            **Gere 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](https://learn.microsoft.com/en-us/java/upgrade/quickstart-upgrade) na documentação do Microsoft.

> \[!NOTE]
> Durante o fluxo de trabalho de modernização, você pode ser frequentemente solicitado pelo Copilot cloud agent a confirmar antes que ele execute ações específicas.

### 1. Abra seu projeto de Java

Use VS Code para abrir a pasta do projeto.

#### Ações sugeridas

* Garanta que seu projeto seja compilado com sucesso 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 Copilot Chat 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. <!-- markdownlint-disable-line GHD046 -->
* 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.

Copilot cloud agent as alterações automatizadas podem incluir:

* Atualizando arquivos `pom.xml` ou `build.gradle` para novas versões de dependências.
* Gerando pull requests ou fazendo commits de 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, aceite as opções para verificar dependências modificadas em busca de CVEs conhecidas e para validar a consistência do comportamento do código.
* 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 [Examinar o código gerado por IA](/pt/enterprise-cloud@latest/copilot/tutorials/review-ai-generated-code).
* **Correção de bugs**. Verifique conteúdo específico em busca de erros sutis e utilize suas próprias ferramentas de depuração e linting 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.
* ```
            **Implantando** o aplicativo modernizado em seus ambientes de destino, incluindo plataformas em nuvem como o Microsoft Azure.
  ```

<!-- end expires 2026-10-31 -->