Instalação da versão do Java com suporte ao GraalVM

Instalar e gerenciar diferentes versões do Java pode ser uma tarefa trabalhosa, especialmente quando se trabalha com ferramentas específicas como o GraalVM.

Para facilitar esse processo, recomendo o uso de ferramentas de versionamento como Mise ou ASDF, especialmente em ambientes Linux. Para outros sistemas operacionais, o SDKMAN também é uma excelente alternativa.

Note

Neste tutorial, utilizaremos o Mise.

Pré-requisitos

Os pacotes necessários para instalar o recurso Native Image (GraalVM) são:

glibc-devel, zlib, gcc, e/ou libstdc++-static

No ArchLinux você pode utilizar o seguinte comando para instalar as dependências necessárias:

$ sudo pacman -S glibc zlib gcc gcc-libs

Para as demais distros Linux, veja na documentação oficial do GraalVM.

Listando versões do Java com suporte ao GraalVM

Para listar todas as versões disponíveis do Java com suporte ao GraalVM, execute o seguinte comando no terminal:

mise ls-remote java | grep graalvm

Você verá uma lista semelhante à seguinte:

graalvm-22.3.0+java17
graalvm-22.3.0+java19
graalvm-22.3.1+java11
graalvm-22.3.1+java17
graalvm-22.3.1+java19
graalvm-22.3.2+java11
graalvm-22.3.2+java17
graalvm-22.3.3+java11
graalvm-22.3.3+java17
graalvm-community-17.0.7
graalvm-community-17.0.8
graalvm-community-17.0.9
graalvm-community-20.0.1
graalvm-community-20.0.2
graalvm-community-21.0.0
graalvm-community-21.0.1
graalvm-community-21.0.2
graalvm-community-22.0.0
graalvm-community-22.0.1
graalvm-community-22.0.2
graalvm-community-23.0.0
graalvm-community-23.0.1
graalvm-community-23.0.2
graalvm-community-24.0.0
graalvm-community-24.0.1
oracle-graalvm-17.0.7
oracle-graalvm-17.0.8
oracle-graalvm-17.0.9
oracle-graalvm-17.0.10
oracle-graalvm-17.0.11
oracle-graalvm-17.0.12
oracle-graalvm-20.0.1
oracle-graalvm-20.0.2

Escolha a versão mais adequada às necessidades do seu projeto. No meu caso, optei pela distribuição community do GraalVM, com suporte ao Java 21.

Instalando o Java com GraalVM via Mise

Para instalar essa versão apenas no diretório atual do projeto, utilize o seguinte comando:

mise use java@graalvm-community-21.0.2

Se preferir instalar essa versão globalmente em sua máquina:

mise use -g java@graalvm-community-21.0.2

Verificando a instalação

Após a instalação, verifique se o Java está corretamente configurado:

java -version

A saída esperada será semelhante a:

openjdk version "21.0.2" 2024-01-16
OpenJDK Runtime Environment GraalVM CE 21.0.2+13.1 (build 21.0.2+13-jvmci-23.1-b30)
OpenJDK 64-Bit Server VM GraalVM CE 21.0.2+13.1 (build 21.0.2+13-jvmci-23.1-b30, mixed mode, sharing)

Referências


https://medium.com/codex/optimising-performance-with-graalvm-a-guide-to-migrating-a-spring-boot-project-to-native-image-fbb2dcf5d405