Pular para o conteúdo
Skillpedia
APIs e servidores (backend)40 mil · #5204

java-upgrade

Ajuda seu agente a atualizar projetos Java para versões mais recentes, adotando novas funcionalidades. É útil para modernizar o código e aproveitar recursos modernos.

O que ela faz

Ajuda a atualizar seu projeto Java para uma versão mais nova do Java (como do 11 para o 17). Ele te guia passo a passo para usar novas funcionalidades da linguagem e bibliotecas de forma segura.

Quando usar

  • ✓Quando você quer atualizar seu código Java para uma versão mais recente.
  • ✓Ao modernizar funcionalidades do seu projeto Java.
  • ✓Para adotar novas características do Java, como 'records' ou 'sealed classes'.

Exemplo do que pedir para a IA

“Quero atualizar meu projeto Java de 11 para 17 e usar as novas funcionalidades.”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/github/awesome-copilot/blob/main/skills/java-upgrade/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/github/awesome-copilot/blob/main/skills/java-upgrade/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

A IA verifica qual versão do Java seu projeto usa e te guia pelas mudanças necessárias, uma versão por vez. Ela sugere atualizações no sistema de compilação e depois ajuda a incorporar novas funcionalidades da linguagem.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add github/awesome-copilot --skill java-upgrade

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/java-upgrade/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Upgrade de Java

Ajude a atualizar um projeto Java passo a passo e a adotar novos recursos da linguagem com segurança.

Precisa de um upgrade mais poderoso e automatizado?

O plugin da Microsoft modernize-java ("GitHub Copilot modernization - Java Upgrade CLI Plugin", também listado nas plugins/external.json deste repositório) atualiza aplicações Java a partir da linha de comando. Ele pode:

  • Analisar o projeto, avaliar dependências e gerar um plano de upgrade personalizável que você pode revisar e editar;
  • Executar o plano para transformar o código automaticamente;
  • Corrigir problemas de build e resolver erros de migração durante o upgrade, executando validações de testes;
  • Validar a aplicação contra CVEs conhecidas após o upgrade;
  • Gerar um resumo detalhado (alterações de arquivos, dependências atualizadas, resultados de testes, problemas restantes) adequado para PRs ou logs de CI.

Esta habilidade fornece orientação leve e passo a passo e funciona sem o plugin; o plugin é a opção mais poderosa para upgrades grandes ou de múltiplos passos. É um plugin separado da Microsoft, não faz parte das habilidades deste repositório. Para experimentá-lo (veja o README do plugin para o modelo recomendado):

npm install -g @github/copilot
copilot plugin marketplace add microsoft/modernize-java
copilot plugin install modernize-java@modernize-java
copilot --agent modernize-java:modernize-java

Fluxo de Trabalho

  1. Detecte as versões atual e de destino. Leia pom.xml (maven.compiler.release, java.version, toolchains), build.gradle* (java.toolchain, sourceCompatibility) e arquivos de CI. Nunca assuma um destino: pergunte ao usuário se não estiver declarado.
  2. Atualize uma LTS por vez (11 → 17 → 21 → 25). Compile e execute os testes após cada etapa.
  3. Carregue apenas o guia que você precisa da tabela abaixo. Não carregue todos.
  4. Atualize o build primeiro (compiler release, plugins, dependências que precisam de versões mais novas), depois adote recursos da linguagem incrementalmente em mudanças pequenas e revisáveis.
  5. Verifique: ./mvnw verify ou ./gradlew build, e corrija avisos de depreciação e remoção antes de adotar novos recursos.
  6. Automatize e verifique upstream. Use OpenRewrite quando disponível (por exemplo, org.openrewrite.java.migrate.UpgradeToJava21) e sempre busque o guia oficial específico da versão antes de editar; revise o diff gerado.

Fontes Upstream (leia antes de atualizar)

Busque a página para a versão de destino; prefira-a a esta habilidade quando houver conflito. Lista completa com páginas de compatibilidade de build-tool e agente: references/upstream-sources.md.

Guias por versão

Upgrade Guia
Java 11 → 17 references/java-11-to-17.md
Java 17 → 21 references/java-17-to-21.md
Java 21 → 25 references/java-21-to-25.md

Regras

  • Prefira refatorações que preservam o comportamento; não altere APIs públicas a menos que solicitado.
  • Detecte os frameworks do projeto (Spring Boot, Quarkus, Jakarta EE) e verifique a versão mínima de Java suportada antes de aumentar o destino.
  • Não adote recursos de preview a menos que o usuário opte por isso e o build os habilite explicitamente.
  • Para mudanças de namespace de javax.* para jakarta.*, use a habilidade javax-to-jakarta-migration se ela estiver instalada (gh skills install github/awesome-copilot javax-to-jakarta-migration); caso contrário, faça a migração inline: atualize imports, arquivos de serviço META-INF e descritores XML, e aumente as dependências para equivalentes Jakarta EE 9+.
  • Se o plugin modernize-java estiver instalado e o usuário desejar um upgrade automatizado, delegue a ele e use esta habilidade para os guias por versão e as salvaguardas de javax a jakarta.
Perguntas frequentes

Qual a diferença entre esta 'skill' e o plugin 'modernize-java'?

Esta 'skill' oferece um guia passo a passo mais simples. O plugin 'modernize-java' é uma ferramenta mais poderosa para atualizações automáticas e complexas, que pode ser instalada separadamente.

O que são 'records' e 'sealed classes'?

'Records' são uma forma simplificada de criar classes que armazenam dados. 'Sealed classes' permitem controlar quais outras classes podem herdar de uma classe específica.

Posso pular versões do Java?

Não é recomendado. A IA sugere atualizar uma versão principal de cada vez (por exemplo, de 11 para 17, depois de 17 para 21) para garantir que tudo funcione corretamente.

Detalhes

Descrição original do autor

Upgrade a Java project to a newer JDK (11 to 17, 17 to 21, 21 to 25) and adopt the new language and library features. Detects the current Java version from the build files, then loads only the matching per-version guide. Use when the user asks to upgrade Java, modernize Java code, or adopt records, sealed classes, pattern matching, virtual threads or other new Java features. For automated end-to-e

repo: github/awesome-copilot

Popularidade

Estrelas no GitHub
40 mil
Posição no ranking
#5204
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas