一、准备工作
java -version,若显示“command not found”则表示未安装Java;若已安装,建议先卸载旧版本(如sudo yum -y remove java-1.8.0-openjdk*),避免版本冲突。sudo yum update -y,确保系统依赖库为最新版本,避免安装过程中出现兼容性问题。二、安装Java(两种方式)
YUM是CentOS默认的包管理器,可快速安装OpenJDK(开源版本,兼容性好):
sudo yum install -y java-1.8.0-openjdk-develsudo yum install -y java-11-openjdk-develsudo yum install -y java-17-openjdk-develjava -version验证是否成功,若显示版本信息(如openjdk version "1.8.0_392")则表示安装完成。若需要安装Oracle JDK或其他未包含在YUM中的版本,可手动下载并配置:
.tar.gz包(如jdk-17.0.10_linux-x64_bin.tar.gz),确保系统架构(x64)匹配。sudo mkdir -p /usr/local/java # 创建Java安装目录
sudo tar -zxvf jdk-17.0.10_linux-x64_bin.tar.gz -C /usr/local/java # 解压到目标目录
sudo mv /usr/local/java/jdk-17.0.10 /usr/local/java/jdk17 # 重命名便于管理
sudo chmod u+x /usr/local/java/jdk17/bin/*,确保Java命令可执行。三、配置环境变量
为了让系统全局识别Java命令,需设置JAVA_HOME(JDK安装路径)和PATH(命令搜索路径):
vi或nano打开/etc/profile(对所有用户生效):sudo vi /etc/profileexport JAVA_HOME=/usr/local/java/jdk17 # JDK安装目录
export PATH=$JAVA_HOME/bin:$PATH # 将Java命令加入PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar # 编译运行依赖
source /etc/profile,无需重启终端即可识别Java命令。四、验证Java安装 运行以下命令检查Java环境是否配置成功:
java -version,应显示类似以下信息:openjdk version "17.0.10" 2024-05-13 LTSjavac -version,应显示对应的编译器版本(如javac 17.0.10)。五、管理多个Java版本(可选) 若需要同时安装多个Java版本(如Java 8和Java 11),可通过以下方式切换:
alternatives命令(系统自带)sudo alternatives --install /usr/bin/java java /usr/lib/jvm/java-1.8.0-openjdk/bin/java 1 # Java 8
sudo alternatives --install /usr/bin/java java /usr/lib/jvm/java-11-openjdk/bin/java 2 # Java 11
sudo alternatives --config java,系统会列出所有已注册的Java版本,输入对应编号即可切换。创建switch_java.sh脚本,内容如下:
#!/bin/bash
case "$1" in
java8)
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
;;
java11)
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk
;;
*)
echo "Usage: $0 {java8|java11}"
exit 1
;;
esac
export PATH=$JAVA_HOME/bin:$PATH
java -version
赋予执行权限:chmod +x switch_java.sh,切换时运行./switch_java.sh java11即可。
六、常见问题解决
sudo yum install -y epel-release安装EPEL仓库,再重新尝试安装。source /etc/profile已执行,或重新登录终端。alternatives是否正确注册了Java版本,或手动修改JAVA_HOME路径。