Instalar Java JDK 21 (OpenJDK 21) no Ubuntu 22.04|20.04|18.04
A cada nova versão do Java, há muitas novidades, atualizações de segurança, otimizações e melhorias da linguagem, e aprimoramentos de desempenho. O Java 21 LTS passou por uma série de estágios sérios de desenvolvimento antes do lançamento oficial de Disponibilidade Geral (GA). A cada seis meses há uma nova versão do Java, mas o padrão das versões LTS é de cada três anos. No momento da atualização deste artigo, a versão LTS mais recente do Java é o JDK 21.
Este artigo foi criado para servir como uma referência atualizada para a instalação do JDK 21 no Ubuntu 22.04, Ubuntu 20.04 e Ubuntu 18.04. Para todas as novas funcionalidades, consulte as notas de lançamento oficiais do Java da Oracle. O Java 21 é possível graças às contribuições de muitas pessoas e organizações na Comunidade OpenJDK.
O Guia Definitivo do Desktop Ubuntu
Domine o Ubuntu como um profissional - desde a personalização bela da área de trabalho até a automação poderosa do terminal. Perfeito para desenvolvedores, administradores de sistemas e usuários avançados que querem controle total sobre seu ambiente de trabalho.
Instalar Oracle JDK 21 LTS no Ubuntu 22.04|20.04|18.04
A Oracle disponibiliza os binários do JDK 21 gratuitamente para instalar, usar em produção e até redistribuir, sem custo, sob os Termos e Condições Sem Taxa da Oracle (NFTC). Visite a página de downloads do Oracle Java e obtenha o pacote DEB mais recente do Java Development Kit 21.
wget https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.debUse a ferramenta de instalação de pacotes apt para instalar o Java JDK 21 LTS no seu sistema Ubuntu.
sudo apt install ./jdk-21_linux-x64_bin.debVerifique se a instalação não apresenta nenhum erro na saída:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Note, selecting 'jdk-21' instead of './jdk-21_linux-x64_bin.deb'
The following NEW packages will be installed:
jdk-21
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/168 MB of archives.
After this operation, 347 MB of additional disk space will be used.
Get:1 /root/jdk-21_linux-x64_bin.deb jdk-21 amd64 21.0.1-ga [168 MB]
Selecting previously unselected package jdk-21.
(Reading database ... 39280 files and directories currently installed.)
Preparing to unpack /root/jdk-21_linux-x64_bin.deb ...
Unpacking jdk-21 (21.0.1-ga) ...
Setting up jdk-21 (21.0.1-ga) ...
update-alternatives: using /usr/lib/jvm/jdk-21-oracle-x64/bin/jar to provide /usr/bin/jar (jar) in auto mode
update-alternatives: using /usr/lib/jvm/jdk-21-oracle-x64/bin/jarsigner to provide /usr/bin/jarsigner (jarsigner) in auto mode
update-alternatives: using /usr/lib/jvm/jdk-21-oracle-x64/bin/java to provide /usr/bin/java (java) in auto mode
update-alternatives: using /usr/lib/jvm/jdk-21-oracle-x64/bin/javac to provide /usr/bin/javac (javac) in auto mode
update-alternatives: using /usr/lib/jvm/jdk-21-oracle-x64/bin/javadoc to provide /usr/bin/javadoc (javadoc) in auto mode
update-alternatives: using /usr/lib/jvm/jdk-21-oracle-x64/bin/javap to provide /usr/bin/javap (javap) in auto mode
update-alternatives: using /usr/lib/jvm/jdk-21-oracle-x64/bin/jcmd to provide /usr/bin/jcmd (jcmd) in auto mode
update-alternatives: using /usr/lib/jvm/jdk-21-oracle-x64/bin/jconsole to provide /usr/bin/jconsole (jconsole) in auto mode
update-alternatives: using /usr/lib/jvm/jdk-21-oracle-x64/bin/jdb to provide /usr/bin/jdb (jdb) in auto mode
update-alternatives: using /usr/lib/jvm/jdk-21-oracle-x64/bin/jdeprscan to provide /usr/bin/jdeprscan (jdeprscan) in auto mode
update-alternatives: using /usr/lib/jvm/jdk-21-oracle-x64/bin/jdeps to provide /usr/bin/jdeps (jdeps) in auto mode
update-alternatives: using /usr/lib/jvm/jdk-21-oracle-x64/bin/jfr to provide /usr/bin/jfr (jfr) in auto mode
update-alternatives: using /usr/lib/jvm/jdk-21-oracle-x64/bin/jhsdb to provide /usr/bin/jhsdb (jhsdb) in auto mode
update-alternatives: using /usr/lib/jvm/jdk-21-oracle-x64/bin/jimage to provide /usr/bin/jimage (jimage) in auto mode
update-alternatives: using /usr/lib/jvm/jdk-21-oracle-x64/bin/jinfo to provide /usr/bin/jinfo (jinfo) in auto mode
update-alternatives: using /usr/lib/jvm/jdk-21-oracle-x64/bin/jlink to provide /usr/bin/jlink (jlink) in auto mode
update-alternatives: using /usr/lib/jvm/jdk-21-oracle-x64/bin/jmap to provide /usr/bin/jmap (jmap) in auto mode
update-alternatives: using /usr/lib/jvm/jdk-21-oracle-x64/bin/jmod to provide /usr/bin/jmod (jmod) in auto mode
update-alternatives: using /usr/lib/jvm/jdk-21-oracle-x64/bin/jpackage to provide /usr/bin/jpackage (jpackage) in auto mode
update-alternatives: using /usr/lib/jvm/jdk-21-oracle-x64/bin/jps to provide /usr/bin/jps (jps) in auto mode
update-alternatives: using /usr/lib/jvm/jdk-21-oracle-x64/bin/jrunscript to provide /usr/bin/jrunscript (jrunscript) in auto mode
update-alternatives: using /usr/lib/jvm/jdk-21-oracle-x64/bin/jshell to provide /usr/bin/jshell (jshell) in auto mode
update-alternatives: using /usr/lib/jvm/jdk-21-oracle-x64/bin/jstack to provide /usr/bin/jstack (jstack) in auto mode
update-alternatives: using /usr/lib/jvm/jdk-21-oracle-x64/bin/jstat to provide /usr/bin/jstat (jstat) in auto mode
update-alternatives: using /usr/lib/jvm/jdk-21-oracle-x64/bin/jstatd to provide /usr/bin/jstatd (jstatd) in auto mode
update-alternatives: using /usr/lib/jvm/jdk-21-oracle-x64/bin/jwebserver to provide /usr/bin/jwebserver (jwebserver) in auto mode
update-alternatives: using /usr/lib/jvm/jdk-21-oracle-x64/bin/keytool to provide /usr/bin/keytool (keytool) in auto mode
update-alternatives: using /usr/lib/jvm/jdk-21-oracle-x64/bin/rmiregistry to provide /usr/bin/rmiregistry (rmiregistry) in auto mode
update-alternatives: using /usr/lib/jvm/jdk-21-oracle-x64/bin/serialver to provide /usr/bin/serialver (serialver) in auto mode
update-alternatives: using /usr/lib/jvm/jdk-21-oracle-x64/lib/jexec to provide /usr/bin/jexec (jexec) in auto mode
Scanning processes...
Scanning linux images...
Confirme a instalação verificando a versão padrão do Java.
$ java --version
java 21.0.1 2023-10-17 LTS
Java(TM) SE Runtime Environment (build 21.0.1+12-LTS-29)
Java HotSpot(TM) 64-Bit Server VM (build 21.0.1+12-LTS-29, mixed mode, sharing)Se você precisar definir o Java Home, ele deve ser /usr/lib/jvm/jdk-21-oracle-x64/
export JAVA_HOME=/usr/lib/jvm/jdk-21-oracle-x64
export PATH=$PATH:$JAVA_HOME/binPara persistir, defina os valores no arquivo ~/.bashrc ou /etc/profile.
Instale o OpenJDK 21 LTS no Ubuntu 22.04|20.04|18.04
OpenJDK é uma implementação de código aberto da Plataforma Java, Edição Standard, licenciada sob a Licença Pública Geral GNU. O OpenJDK 21 é uma versão de produção pronta em código aberto do Kit de Desenvolvimento Java, versão 21, uma implementação da Plataforma Java SE 21.
Para instalar o OpenJDK 21, visite a página de lançamento do OpenJDK 21 e obtenha a versão mais recente disponível para a arquitetura da sua CPU.
wget https://download.java.net/java/GA/jdk21.0.2/f2283984656d49d69e91c558476027ac/13/GPL/openjdk-21.0.2_linux-x64_bin.tar.gzExtraia o arquivo baixado.
tar xvf openjdk-21.0.2_linux-x64_bin.tar.gzMova a pasta criada após a extração
sudo mv jdk-21.0.2 /usr/local/Defina variáveis de ambiente dentro do diretório /etc/profile.d/.
$ sudo vim /etc/profile.d/jdk21.sh
export JAVA_HOME=/usr/local/jdk-21.0.2
export PATH=$PATH:$JAVA_HOME/binCarregue os arquivos para disponibilizar as variáveis na sua sessão atual do shell.
source /etc/profile.d/jdk21.shConfirme a versão do Java usando o seguinte comando.
$ java --version
openjdk 21.0.2 2024-01-16
OpenJDK Runtime Environment (build 21.0.2+13-58)
OpenJDK 64-Bit Server VM (build 21.0.2+13-58, mixed mode, sharing)Alternando entre versões do Java
Em sistemas com várias versões do Java instaladas, você pode alternar entre as versões instaladas usando o comando update-java-alternatives.
Primeiro, liste todas as versões do Java:
$ sudo update-java-alternatives --list
java-1.11.0-openjdk-amd64 1111 /usr/lib/jvm/java-1.11.0-openjdk-amd64
jdk-21-oracle-x64 352329728 /usr/lib/jvm/jdk-21-oracle-x64Como exemplo, para definir a versão 21 do Java como padrão, use:
sudo update-java-alternatives --set /usr/lib/jvm/jdk-21-oracle-x64Confirme se a alteração foi bem-sucedida.
# Before
$ java --version
openjdk 11.0.21 2023-10-17
OpenJDK Runtime Environment (build 11.0.21+9-post-Ubuntu-0ubuntu122.04)
OpenJDK 64-Bit Server VM (build 11.0.21+9-post-Ubuntu-0ubuntu122.04, mixed mode, sharing)
# After
$ java --version
java 21.0.1 2023-10-17 LTS
Java(TM) SE Runtime Environment (build 21.0.1+12-LTS-29)
Java HotSpot(TM) 64-Bit Server VM (build 21.0.1+12-LTS-29, mixed mode, sharing)Conclusão
Por design, o Java é uma linguagem de programação fácil de usar e de entender. Aproveite para escrever suas aplicações em Java 21, compilá-las, depurá-las e, esperançosamente, executá-las em ambientes de produção. Com o Java, é fácil criar programas modulares e código reutilizável em qualquer plataforma. Esperamos que este artigo tenha sido útil e gostaríamos de agradecer por visitar nosso site.