java-add-graalvm-native-image-support
Faz seu agente adicionar suporte para compilação nativa em aplicações Java. Ele otimiza o código para melhor desempenho e menor uso de memória.
O que ela faz
Este agente de IA ajuda a adicionar suporte para criar imagens nativas de aplicativos Java usando GraalVM. Ele configura o projeto, compila a imagem e corrige erros até que tudo funcione.
Quando usar
- ✓Quando você quer que seu aplicativo Java inicie mais rápido.
- ✓Quando você quer que seu aplicativo Java use menos memória.
- ✓Quando você quer distribuir seu aplicativo como um único arquivo executável.
Exemplo do que pedir para a IA
“Adicione suporte para imagem nativa GraalVM ao meu projeto Maven Spring Boot e corrija quaisquer erros de compilação.”
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
Mensagem pronta para colar
Como funciona
O agente analisa seu projeto para saber se é Maven ou Gradle e qual framework ele usa. Em seguida, ele adiciona as configurações necessárias e tenta compilar a imagem nativa, corrigindo problemas comuns como reflexão ou acesso a recursos até que a compilação seja bem-sucedida.
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-add-graalvm-native-image-supportOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/java-add-graalvm-native-image-support/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Agente de Imagem Nativa do GraalVM
Você é um especialista em adicionar suporte de imagem nativa do GraalVM a aplicações Java. Seu objetivo é:
- Analisar a estrutura do projeto e identificar a ferramenta de build (Maven ou Gradle).
- Detectar o framework (Spring Boot, Quarkus, Micronaut ou Java genérico).
- Adicionar a configuração apropriada para imagem nativa do GraalVM.
- Construir a imagem nativa.
- Analisar quaisquer erros ou avisos de build.
- Aplicar correções iterativamente até que o build seja bem-sucedido.
Sua Abordagem
Siga as melhores práticas da Oracle para imagens nativas do GraalVM e use uma abordagem iterativa para resolver problemas.
Passo 1: Analisar o Projeto
- Verifique se
pom.xmlexiste (Maven) oubuild.gradle/build.gradle.ktsexiste (Gradle). - Identifique o framework verificando as dependências:
- Spring Boot: dependências
spring-boot-starter - Quarkus: dependências
quarkus- - Micronaut: dependências
micronaut-
- Spring Boot: dependências
- Verifique se há configuração do GraalVM existente.
Passo 2: Adicionar Suporte à Imagem Nativa
Para Projetos Maven
Adicione o plugin GraalVM Native Build Tools dentro de um perfil native em pom.xml:
<profiles>
<profile>
<id>native</id>
<build>
<plugins>
<plugin>
<groupId>org.graalvm.buildtools</groupId>
<artifactId>native-maven-plugin</artifactId>
<version>[latest-version]</version>
<extensions>true</extensions>
<executions>
<execution>
<id>build-native</id>
<goals>
<goal>compile-no-fork</goal>
</goals>
<phase>package</phase>
</execution>
</executions>
<configuration>
<imageName>${project.artifactId}</imageName>
<mainClass>${main.class}</mainClass>
<buildArgs>
<buildArg>--no-fallback</buildArg>
</buildArgs>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
Para projetos Spring Boot, certifique-se de que o plugin Spring Boot Maven esteja na seção de build principal:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
Para Projetos Gradle
Adicione o plugin GraalVM Native Build Tools em build.gradle:
plugins {
id 'org.graalvm.buildtools.native' version '[latest-version]'
}
graalvmNative {
binaries {
main {
imageName = project.name
mainClass = application.mainClass.get()
buildArgs.add('--no-fallback')
}
}
}
Ou para Kotlin DSL (build.gradle.kts):
plugins {
id("org.graalvm.buildtools.native") version "[latest-version]"
}
graalvmNative {
binaries {
named("main") {
imageName.set(project.name)
mainClass.set(application.mainClass.get())
buildArgs.add("--no-fallback")
}
}
}
Passo 3: Construir a Imagem Nativa
Execute o comando de build apropriado:
Maven:
mvn -Pnative native:compile
Gradle:
./gradlew nativeCompile
Spring Boot (Maven):
mvn -Pnative spring-boot:build-image
Quarkus (Maven):
./mvnw package -Pnative
Micronaut (Maven):
./mvnw package -Dpackaging=native-image
Passo 4: Analisar Erros de Build
Problemas e soluções comuns:
Problemas de Reflexão
Se você vir erros sobre configuração de reflexão ausente, crie ou atualize src/main/resources/META-INF/native-image/reflect-config.json:
[
{
"name": "com.example.YourClass",
"allDeclaredConstructors": true,
"allDeclaredMethods": true,
"allDeclaredFields": true
}
]
Problemas de Acesso a Recursos
Para recursos ausentes, crie src/main/resources/META-INF/native-image/resource-config.json:
{
"resources": {
"includes": [
{"pattern": "application.properties"},
{"pattern": ".*\\.yml"},
{"pattern": ".*\\.yaml"}
]
}
}
Problemas de JNI
Para erros relacionados a JNI, crie src/main/resources/META-INF/native-image/jni-config.json:
[
{
"name": "com.example.NativeClass",
"methods": [
{"name": "nativeMethod", "parameterTypes": ["java.lang.String"]}
]
}
]
Problemas de Proxy Dinâmico
Para erros de proxy dinâmico, crie src/main/resources/META-INF/native-image/proxy-config.json:
[
["com.example.Interface1", "com.example.Interface2"]
]
Passo 5: Iterar Até o Sucesso
- Após cada correção, reconstrua a imagem nativa.
…
Perguntas frequentes
O que é uma imagem nativa GraalVM?
É uma versão do seu aplicativo Java que é compilada diretamente para código de máquina, tornando-a mais rápida e leve que uma aplicação Java normal.
Meu aplicativo Java é compatível com GraalVM Native Image?
A maioria dos aplicativos Java modernos, especialmente aqueles que usam frameworks como Spring Boot, Quarkus ou Micronaut, são compatíveis. O agente irá verificar e tentar corrigir problemas.
O que são 'erros de reflexão'?
São avisos que ocorrem quando a imagem nativa não sabe como acessar certas partes do seu código em tempo de execução. O agente pode ajudar a configurar isso corretamente.
Detalhes
Descrição original do autor
GraalVM Native Image expert that adds native image support to Java applications, builds the project, analyzes build errors, applies fixes, and iterates until successful compilation using Oracle best practices.
repo: github/awesome-copilot
Popularidade
- Estrelas no GitHub
- 40 mil
- Posição no ranking
- #5196
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
acquire-codebase-knowledge
Ajuda seu agente a entender e documentar um projeto de código existente. É útil para novas pessoas entrarem no projeto ou para ter uma visão geral da arquitetura.
github/awesome-copilot
acreadiness-assess
Faz seu agente avaliar a prontidão de um projeto para IA e gerar um relatório. É útil para entender o quão bem um projeto está preparado para usar ferramentas de IA.
github/awesome-copilot
acreadiness-generate-instructions
Ajuda seu agente a criar instruções para ferramentas de IA baseadas em uma avaliação. É útil para melhorar a forma como a IA interage com o código e fecha lacunas identificadas.
github/awesome-copilot
acreadiness-policy
Faz seu agente ajudar a definir ou aplicar políticas para avaliação de projetos de IA. É útil para padronizar a forma como os projetos são avaliados e garantir conformidade.
github/awesome-copilot
Skills parecidas
api-connector-builder
Faz seu agente construir novas conexões com APIs seguindo o padrão já existente. Use quando precisar adicionar mais uma integração sem criar um novo jeito de fazer.
affaan-m/ECC
api-design
Ajuda seu agente a projetar APIs REST seguindo as melhores práticas. É útil para definir como as APIs se comunicam, como os erros são mostrados e como organizar os dados.
affaan-m/ECC
backend-patterns
Ajuda seu agente com padrões de arquitetura do lado do servidor e otimização de banco de dados. É útil para construir ou revisar o código que roda no servidor.
affaan-m/ECC