CentOS 7.X 多版本 JDK 管理
·
CentOS 7.X 多版本 JDK 管理
1. 安装多个 JDK 版本
手动安装方式
# 下载并解压不同版本的 JDK
tar -zxvf jdk-8uXXX-linux-x64.tar.gz -C /usr/local/java/
tar -zxvf jdk-11.XXX_linux-x64_bin.tar.gz -C /usr/local/java/
tar -zxvf jdk-17.XXX_linux-x64_bin.tar.gz -C /usr/local/java/
目录结构示例
/usr/local/java/
├── jdk1.8.0_XXX
├── jdk-11.XXX
└── jdk-17.XXX
2. 配置环境变量管理
方法一:修改 /etc/profile 全局配置
# 编辑全局环境变量文件
vim /etc/profile
# 添加以下内容
export JAVA_HOME_JDK8=/usr/local/java/jdk1.8.0_XXX
export JAVA_HOME_JDK11=/usr/local/java/jdk-11.XXX
export JAVA_HOME_JDK17=/usr/local/java/jdk-17.XXX
# 设置默认 JDK
export JAVA_HOME=$JAVA_HOME_JDK8
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
方法二:使用 alternatives 系统管理
# 安装 alternatives 条目
sudo alternatives --install /usr/bin/java java /usr/local/java/jdk1.8.0_XXX/bin/java 100
sudo alternatives --install /usr/bin/java java /usr/local/java/jdk-11.XXX/bin/java 200
sudo alternatives --install /usr/bin/java java /usr/local/java/jdk-17.XXX/bin/java 300
# 配置 javac
sudo alternatives --install /usr/bin/javac javac /usr/local/java/jdk1.8.0_XXX/bin/javac 100
sudo alternatives --install /usr/bin/javac javac /usr/local/java/jdk-11.XXX/bin/javac 200
sudo alternatives --install /usr/bin/javac javac /usr/local/java/jdk-17.XXX/bin/javac 300
3. 使用别名快速切换 JDK 版本
在 ~/.bashrc 或 ~/.bashrc 中添加别名
# 编辑用户配置文件
vim ~/.bashrc
# 添加 JDK 切换别名
alias jdk8='export JAVA_HOME=/usr/local/java/jdk1.8.0_XXX && export PATH=$JAVA_HOME/bin:$PATH && java -version'
alias jdk11='export JAVA_HOME=/usr/local/java/jdk-11.XXX && export PATH=$JAVA_HOME/bin:$PATH && java -version'
alias jdk17='export JAVA_HOME=/usr/local/java/jdk-17.XXX && export PATH=$JAVA_HOME/bin:$PATH && java -version'
# 重新加载配置
source ~/.bashrc
4. 使用 alternatives 管理 JDK
查看当前配置
# 查看 Java alternatives 配置
sudo alternatives --config java
# 查看 Javac alternatives 配置
sudo alternatives --config javac
手动切换版本
# 交互式选择 JDK 版本
sudo alternatives --config java
sudo alternatives --config javac
5. 参数解析说明
alternatives 命令参数:
--install:安装一个新的 alternatives 项--config:配置当前使用的 alternatives 项--display:显示 alternatives 项的详细信息--remove:移除一个 alternatives 项
配置项说明:
/usr/bin/java:符号链接路径java:alternatives 组名/usr/local/java/jdk1.8.0_XXX/bin/java:实际程序路径100:优先级,数字越大优先级越高
6. 实际使用案例
案例一:快速切换 JDK 版本
# 使用别名切换到 JDK 8
jdk8
# 输出:java version "1.8.0_XXX"
# 使用别名切换到 JDK 11
jdk11
# 输出:openjdk version "11.XXX"
案例二:为特定应用指定 JDK 版本
# 创建特定应用的启动脚本
#!/bin/bash
export JAVA_HOME=/usr/local/java/jdk-17.XXX
export PATH=$JAVA_HOME/bin:$PATH
java -jar myapp.jar
案例三:验证当前 JDK 版本
# 查看 Java 版本
java -version
# 查看 Java 编译器版本
javac -version
# 查看 JAVA_HOME 路径
echo $JAVA_HOME
通过以上配置,可以在 CentOS 7.X 系统中灵活管理多个 JDK 版本,并通过别名或 alternatives 系统快速切换使用。
更多推荐



所有评论(0)