在配置Java前,建议先更新CentOS系统包以确保兼容性:
sudo yum update -y # CentOS 7/8
# 或(CentOS 9及以上使用dnf)
sudo dnf update -y
CentOS默认仓库提供OpenJDK版本,可根据需求选择安装:
sudo yum install -y java-1.8.0-openjdk-devel
sudo yum install -y java-11-openjdk-devel
sudo yum install -y java-17-openjdk-devel
若默认仓库无所需版本,可启用EPEL仓库(CentOS 7)或添加AdoptOpenJDK仓库(第三方):
# 启用EPEL仓库(CentOS 7)
sudo yum install -y epel-release
# 添加AdoptOpenJDK仓库(CentOS 7)
wget https://adoptopenjdk.jfrog.io/adoptopenjdk/rpm/centos/7/x86_64/AdoptOpenJDK.repo
sudo mv AdoptOpenJDK.repo /etc/yum.repos.d/
sudo yum update -y
sudo yum install -y adoptopenjdk-17-hotspot # 安装AdoptOpenJDK 17
若需安装非仓库版本(如Oracle JDK),可手动下载tar.gz包并解压:
jdk-17.0.5_linux-x64_bin.tar.gz
)。tar -xvf jdk-17.0.5_linux-x64_bin.tar.gz
sudo mv jdk-17.0.5 /usr/local/ # 移动到/usr/local目录
sudo ln -s /usr/local/jdk-17.0.5 /usr/local/java
若系统安装了多个Java版本,可使用alternatives
命令切换默认版本:
sudo alternatives --install /usr/bin/java java /usr/lib/jvm/java-1.8.0-openjdk/bin/java 1 # OpenJDK 8
sudo alternatives --install /usr/bin/java java /usr/lib/jvm/java-11-openjdk/bin/java 2 # OpenJDK 11
sudo alternatives --install /usr/bin/java java /usr/local/java/bin/java 3 # 手动安装的JDK 17
sudo alternatives --config java
JAVA_HOME
是Java应用(如Maven、Tomcat)识别JDK路径的关键变量,需永久配置:
alternatives
命令获取Java可执行文件的路径,去掉末尾的/bin/java
即为JAVA_HOME
:sudo alternatives --config java
# 输出示例:/usr/lib/jvm/java-11-openjdk/bin/java → JAVA_HOME=/usr/lib/jvm/java-11-openjdk
~/.bashrc
、~/.bash_profile
或~/.zshrc
):vim ~/.bashrc
在文件末尾添加以下内容(替换为实际路径):export JAVA_HOME=/usr/lib/jvm/java-11-openjdk # 替换为你的JAVA_HOME路径
export PATH=$JAVA_HOME/bin:$PATH # 将Java bin目录加入PATH
source ~/.bashrc # 或 source ~/.bash_profile / source ~/.zshrc
echo $JAVA_HOME # 应输出JAVA_HOME路径
java -version
# 输出示例:openjdk version "11.0.15" 2022-04-19 LTS
javac -version
# 输出示例:javac 11.0.15
~/.bashrc
),并执行source
命令刷新。alternatives --config java
重新选择版本,或检查JAVA_HOME
路径是否正确。bin
、lib
等子目录),且JAVA_HOME
指向根目录(如/usr/local/jdk-17.0.5
)。