Linux多版本JDK安装与切换方法
时间:2025-10-06 11:57:46 233浏览 收藏
哈喽!大家好,很高兴又见面了,我是golang学习网的一名作者,今天由我给大家带来一篇《Linux多版本JDK安装与切换指南》,本文主要会讲到等等知识点,希望大家一起学习进步,也欢迎大家关注、点赞、收藏、转发! 下面就一起来看看吧!
通过update-alternatives可管理多JDK版本:先安装JDK至/usr/local/java,配置环境变量,用--install注册java和javac命令,再用--config或--set切换版本,最后验证java -version。

在Linux服务器上同时安装多个JDK版本,并能灵活切换使用,是Java开发和运维中的常见需求。通过update-alternatives工具可以轻松实现多版本JDK的管理与切换。以下是具体操作步骤。
1. 安装多个JDK版本
将需要的JDK版本(如JDK 8、JDK 11、JDK 17)下载并解压到指定目录,通常推荐放在/usr/local/java/下:
tar -xzf jdk-8u301-linux-x64.tar.gz -C /usr/local/java/
tar -xzf jdk-11.0.12-linux-x64.tar.gz -C /usr/local/java/
tar -xzf jdk-17.0.1_linux-x64_bin.tar.gz -C /usr/local/java/
完成后目录结构类似:
/usr/local/java/jdk1.8.0_301/usr/local/java/jdk-11.0.12
/usr/local/java/jdk-17.0.1
2. 配置环境变量(可选)
编辑全局环境变量文件:
nano /etc/profile.d/java.sh添加以下内容(根据实际路径调整):
export JAVA_8_HOME="/usr/local/java/jdk1.8.0_301"export JAVA_11_HOME="/usr/local/java/jdk-11.0.12"
export JAVA_17_HOME="/usr/local/java/jdk-17.0.1"
保存后执行source /etc/profile使配置生效。
3. 使用update-alternatives注册JDK命令
该工具允许系统维护同一命令的不同版本。以java、javac为例进行注册:
注册 java 命令:
sudo update-alternatives --install /usr/bin/java java $JAVA_8_HOME/bin/java 1sudo update-alternatives --install /usr/bin/java java $JAVA_11_HOME/bin/java 2
sudo update-alternatives --install /usr/bin/java java $JAVA_17_HOME/bin/java 3
注册 javac 命令:
sudo update-alternatives --install /usr/bin/javac javac $JAVA_8_HOME/bin/javac 1sudo update-alternatives --install /usr/bin/javac javac $JAVA_11_HOME/bin/javac 2
sudo update-alternatives --install /usr/bin/javac javac $JAVA_17_HOME/bin/javac 3
数字代表优先级,值越大默认优先级越高。
4. 切换JDK版本
运行以下命令可交互式选择当前使用的JDK版本:
sudo update-alternatives --config java sudo update-alternatives --config javac终端会列出所有已注册的版本,输入对应编号即可切换。
也可直接指定版本避免交互:
sudo update-alternatives --set java /usr/local/java/jdk-11.0.12/bin/java验证当前版本:
java -version javac -version基本上就这些。通过update-alternatives管理多JDK版本,既简洁又稳定,适合生产环境使用。注意保持路径正确,每次新增JDK都需重新注册。不复杂但容易忽略细节。
理论要掌握,实操不能落!以上关于《Linux多版本JDK安装与切换方法》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
441 收藏
-
190 收藏
-
366 收藏
-
221 收藏
-
226 收藏
-
224 收藏
-
484 收藏
-
318 收藏
-
430 收藏
-
131 收藏
-
158 收藏
-
451 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习