Amazon Ubuntu服务器切换Java11到Java8失败求助
Ubuntu服务器切换Java版本从11到8的解决办法
为啥你的操作没生效?
你把$JAVA_HOME/bin追加到了PATH的末尾,但系统里Java 11的执行路径(比如/usr/bin)在PATH里的位置更靠前,系统找命令的时候会优先匹配前面的路径,所以还是调用了Java 11。
一步一步解决
1. 先确认Java 8装好了没
执行以下命令查看已安装的Java版本列表:
update-alternatives --list java
如果输出包含/usr/lib/jvm/java-8-openjdk-amd64/bin/java,说明已安装;若没有,先安装Java 8:
sudo apt update sudo apt install openjdk-8-jdk
2. 用系统工具切换默认版本
Ubuntu自带的update-alternatives可以直接管理默认Java版本,执行:
sudo update-alternatives --config java
执行后会弹出选项列表,输入对应Java 8的序号,按回车确认即可。
3. 检查切换结果
执行以下命令验证版本:
java -version
此时应该显示Java 8的版本信息。
4. 永久设置JAVA_HOME(可选)
如果想让配置每次登录都自动生效,编辑用户配置文件:
nano ~/.bashrc
在文件末尾添加两行:
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 export PATH=$JAVA_HOME/bin:$PATH
注意这里是把Java 8的路径放到PATH最前面,保存退出后,执行以下命令使配置立刻生效:
source ~/.bashrc
原参考文档核心内容翻译
Ubuntu配置JAVA_HOME路径的正确方法
查找Java安装路径
通过update-alternatives --list java命令可以获取所有已安装Java的完整路径,这是设置JAVA_HOME的基础。临时配置(仅当前终端会话有效)
直接在终端执行export JAVA_HOME=<Java安装路径>和export PATH=$JAVA_HOME/bin:$PATH,但关闭终端后配置会失效。永久配置
- 针对单个用户:编辑
~/.bashrc或~/.profile文件,添加配置后执行source ~/.bashrc使生效。 - 针对所有用户:编辑
/etc/profile或/etc/environment文件,添加配置后重启系统或执行source /etc/profile使生效。
- 验证配置
执行echo $JAVA_HOME和java -version确认配置是否成功。
内容的提问来源于stack exchange,提问作者Bill
相关产品推荐
相关产品推荐

