如何在服务器环境下将Java版本从Java 11切换为Java 8
服务器Java 11切换回Java 8操作方案(纯bash命令实现)
前置检查:确认系统是否已安装Java 8
执行以下命令查看系统中已注册的Java版本:
update-alternatives --list java update-alternatives --list javac
如果输出中没有1.8.x版本的相关路径,先执行对应发行版的安装命令:
- Debian/Ubuntu 系列:
sudo apt update sudo apt install openjdk-8-jdk -y
- CentOS/RHEL 7 系列:
sudo yum install java-1.8.0-openjdk-devel -y
- CentOS/RHEL 8/9、Rocky Linux 系列:
sudo dnf install java-1.8.0-openjdk-devel -y
步骤1:切换默认Java运行环境与编译器
执行命令切换默认java命令:
sudo update-alternatives --config java
命令执行后会输出所有已安装的Java版本列表,输入Java 8对应选项的序号,按回车确认即可。
重复同样操作切换Java编译器:
sudo update-alternatives --config javac
步骤2:验证切换结果
分别执行以下命令,确认输出版本为1.8.x即说明切换成功:
java -version javac -version
可选:配置JAVA_HOME环境变量
如果你的服务依赖JAVA_HOME环境变量,可按以下操作配置:
- 编辑对应配置文件(全局生效编辑
/etc/profile,当前用户生效编辑~/.bashrc),在文件末尾添加以下内容:
export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::") export PATH=$JAVA_HOME/bin:$PATH
- 执行source命令使配置立即生效:
# 全局配置生效 source /etc/profile # 或当前用户配置生效 source ~/.bashrc
- 验证环境变量:
echo $JAVA_HOME
输出路径对应Java 8的安装目录即为配置成功。
注意:如果你的服务器上有单独指定Java路径的应用(如Tomcat、SpringBoot自启动服务等),需要单独修改对应应用的配置文件中的Java路径,否则应用仍会使用原来的Java 11版本。
内容的提问来源于stack exchange,提问作者Mokrall
相关产品推荐
相关产品推荐

