通过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. 配置环境变量(可选)
编辑全局环境变量文件:
立即学习“Java免费学习笔记(深入)”;
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都需重新注册。不复杂但容易忽略细节。










