Linux 安装 JDK:环境配置与多版本切换
linux 安装jdk
在 Linux 系统中安装 JDK 是开发 Java 应用、部署 Spring Boot 项目、运行 Tomcat、Jenkins、Maven、Gradle 等工具的基础操作。JDK 全称为 Java Development Kit,也就是 Java 开发工具包,它不仅包含 Java 运行环境 JRE,还包含编译器 javac、打包工具、调试工具等开发组件。如果只是运行 Java 程序,安装 JRE 通常已经够用;如果要编译或开发 Java 程序,则需要安装 JDK。
一、确认系统架构
在安装 JDK 之前,建议先查看 Linux 系统版本和 CPU 架构:
uname -m
cat /etc/os-release
常见架构包括:
x86_64:常见的 64 位 Intel / AMD 服务器aarch64:ARM 64 位服务器,例如部分云服务器armv7l:较老的 ARM 设备
不同发行版使用不同的包管理工具,例如 Ubuntu 使用 apt,CentOS / RHEL 使用 yum,新版 Fedora / RHEL 使用 dnf,openSUSE 使用 zypper。
二、检查是否已经安装 JDK
在安装前可以先检查系统是否已经存在 Java:
java -version
javac -version
echo $JAVA_HOME
如果 java -version 能正常显示版本,说明系统已经安装 Java 运行环境。但如果 javac -version 报错,说明可能只安装了 JRE,没有安装完整 JDK。
三、使用包管理器安装 JDK
1. Ubuntu / Debian 系统安装 JDK
Ubuntu、Debian 系列系统可以使用 apt 安装 OpenJDK:
sudo apt update
sudo apt install openjdk-17-jdk
安装完成后验证:
java -version
javac -version
如果需要安装其他版本,可以搜索可用软件包:
apt search openjdk
常见包名包括:
sudo apt install openjdk-11-jdk
sudo apt install openjdk-17-jdk
sudo apt install openjdk-21-jdk
2. CentOS / RHEL 系统安装 JDK
CentOS、RHEL 系统可以使用 yum 安装:
sudo yum install java-17-openjdk-devel
验证安装:
java -version
javac -version
如果系统使用 dnf,也可以使用:
sudo dnf install java-17-openjdk-devel
查看可用 JDK 版本:
dnf list available | grep openjdk
3. Fedora 系统安装 JDK
Fedora 推荐使用 dnf:
sudo dnf install java-17-openjdk-devel
安装后检查:
java -version
javac -version
4. openSUSE 系统安装 JDK
openSUSE 可以使用 zypper:
sudo zypper install java-17-openjdk-devel
验证命令:
java -version
javac -version
四、手动安装 JDK
如果服务器无法连接软件源,或者需要指定安装某个版本,可以使用手动解压方式安装 JDK。
1. 下载 JDK
可以从 Oracle JDK、OpenJDK 构建版本或可信镜像源下载 JDK 压缩包。例如:
wget https://example.com/jdk-linux-x64.tar.gz
也可以将本地 JDK 压缩包上传到服务器:
scp jdk-linux-x64.tar.gz root@服务器IP:/opt/
2. 解压到指定目录
推荐将 JDK 安装到 /opt 或 /usr/local 目录:
sudo mkdir -p /opt/java
sudo tar -zxvf jdk-linux-x64.tar.gz -C /opt/java/
解压后查看目录:
ls /opt/java
假设解压后的目录为:
/opt/java/jdk-17
3. 配置环境变量
编辑系统环境变量文件:
sudo vim /etc/profile
在文件末尾添加:
export JAVA_HOME=/opt/java/jdk-17
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
保存后让配置立即生效:
source /etc/profile
也可以只针对当前用户配置,编辑:
vim ~/.bashrc
添加相同内容后执行:
source ~/.bashrc
4. 验证安装结果
执行以下命令:
java -version
javac -version
echo $JAVA_HOME
如果输出类似以下信息,说明 JDK 安装成功:
java version "17"
javac 17
/opt/java/jdk-17
五、设置多版本 JDK 切换
如果系统中安装了多个 JDK 版本,可以使用系统自带工具进行切换。
Ubuntu / Debian 系统
sudo update-alternatives --config java
sudo update-alternatives --config javac
执行后会显示已安装的 Java 版本列表,输入对应编号即可切换。
CentOS / RHEL 系统
可以使用:
sudo alternatives --config java
sudo alternatives --config javac
六、常见问题处理
1. java: command not found
说明 java 命令没有在系统路径中。需要检查 JDK 是否安装成功,以及 PATH 是否配置正确。
可以执行:
echo $PATH
echo $JAVA_HOME
确认路径中是否包含 JDK 的 bin 目录。
2. javac: command not found
通常表示只安装了 JRE,没有安装完整 JDK。需要安装 devel 或 jdk 相关软件包,例如:
sudo apt install openjdk-17-jdk
sudo yum install java-17-openjdk-devel
3. 环境变量不生效
如果修改 /etc/profile 后不生效,可以执行:
source /etc/profile
如果是 SSH 登录环境,也可以重新登录服务器后再检查。
4. 权限不足
如果普通用户无法安装软件,需要在命令前加 sudo:
sudo apt install openjdk-17-jdk
如果没有 sudo 权限,需要联系管理员处理。
七、卸载 JDK
如果不需要某个 JDK,可以卸载。
Ubuntu / Debian:
sudo apt remove openjdk-17-jdk
CentOS / RHEL:
sudo yum remove java-17-openjdk-devel
Fedora:
sudo dnf remove java-17-openjdk-devel
openSUSE:
sudo zypper remove java-17-openjdk-devel
手动安装的 JDK 可以直接删除目录:
sudo rm -rf /opt/java/jdk-17
然后删除环境变量中的相关配置。
总结
在 Linux 中安装 JDK 主要有两种方式:一种是通过系统包管理器安装,操作简单、维护方便;另一种是手动下载压缩包安装,适合需要指定版本或离线部署的场景。安装完成后,需要通过 java -version 和 javac -version 验证是否成功,并正确配置 JAVA_HOME、PATH 等环境变量。如果系统存在多个 JDK 版本,还可以使用 update-alternatives 或 alternatives 进行版本切换。掌握这些方法后,就可以顺利完成 Java 开发环境的搭建。