Ubuntu下载jdk17 、jdk21
jdk17
使用jdk17下载直接使用命令
sudo apt install openjdk-17-jdk -y可以看到jdk下载到的目录 /usr/lib/jvm/java-17-openjdk-amd64/bin/jconsole

我们进入到jdk目录 执行 java -version 查看版本验证 安装成功
Jdk21
在 apt 里找不到 JDK 21 的包,核心原因是 Debian 系统追求极致的稳定性,它的官方软件源会滞后于最新的软件版本。
简单来说,就是 Debian 12 (Bookworm) 为了保证服务器长时间稳定运行,默认只提供了经过长时间测试的 OpenJDK 17。而你想要的 JDK 21 虽然已经发布,但正式引入 Debian 的稳定版仓库还需要一个过程,直接 apt install 当然会提示“找不到包”
所以只能自己手动来安装 JDK 21
使用以下命令从官方下载 tar 包并解压
# 下载
wget https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.tar.gz
# 解压到 /usr/local/
sudo tar -xzf jdk-21_linux-x64_bin.tar.gz -C /usr/local/
# 重命名文件夹
sudo mv /usr/local/jdk-21.* /usr/local/jdk-21
进入下载到目录 cd /usr/local 查看 java -version

配置环境变量
root@RainYun-yW2VbpLv:/usr/local# echo 'export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64' >> ~/.bashrc
root@RainYun-yW2VbpLv:/usr/local# echo 'export PATH=$JAVA_HOME/bin:$PATH' >> ~/.bashrc
root@RainYun-yW2VbpLv:/usr/local#
root@RainYun-yW2VbpLv:/usr/local# # 立即生效
root@RainYun-yW2VbpLv:/usr/local# source ~/.bashrc验证

切换 JDK
这里为了方便 我更换了jdk的名字

先用 update-alternatives 注册 JDK 21
bash
# 注册 java 命令
sudo update-alternatives --install /usr/bin/java java /usr/local/jdk21/bin/java 2100
# 注册 javac 命令(如果之前没注册)
sudo update-alternatives --install /usr/bin/javac javac /usr/local/jdk21/bin/javac 2100
注意:如果你的 JDK 21 安装在其他路径,把 /usr/local/jdk21 改成你的实际路径
执行命令后 输入数字切换对应版本
sudo update-alternatives --config java可以看到这里我已经切换成功为17

设置 JAVA_HOME(如果还没设置)
echo 'export JAVA_HOME=/usr/local/jdk21' | sudo tee -a /etc/profile
source /etc/profile
# 验证
echo $JAVA_HOME如果不知道 JDK 21 安装路径
# 查找 jdk21 目录
sudo find / -name "jdk21" -type d 2>/dev/null
# 或者查找 java 21 的可执行文件
sudo find / -name "java" -path "*/jdk*/bin/java" 2>/dev/null Ubuntu下载jdk17 、jdk21
https://gyqaq.fun/index.php/archives/3/