CentOS安装配置多版本JDK详细步骤记录
目录
- 1. 下载 JDK
- 2. 安装 JDK
- 3. 配置环境变量
- 方法一:使用 update-alternatives 全局管理
- 方法二:通过环境变量和 alias 切换(用户级别)
- 总结
1. 下载 JDK
你可以从 oracle 官方网站或者 OpenJDK 的相关源下载不同版本的 JDK 安装包。以 JDK 8 和 JDK 21 为例,假设你已经将它们下载到了本地。
2. 安装 JDK
创建一个用于存放 JDK 的目录,然后将下载的 JDK 安装包解压到该目录。
# 创建目录 sudo mkdir -p /usr/local/Java # 解压JDK 8 sudo tar -zxvf jdk-8u202-linux-x64.tar.gz -C /usr/local/java # 解压JDK 21 sudo tar -zxvf jdk-21_linux-x64_bin.tar.gz -C /usr/local/java
3. 配置环境变量
下面介绍两种常用的方式,在 Centos 10 系统上安装并管理多个 JDK 版本,一种是使用 update‐alternatives 工具进行全局切换,另一种则是通过设置环境变量和 alias 来临时切换。下面提供详细步骤:
方法一:使用 update-alternandroidatives 全局管理
这种方式可以在系统级别统一设置默认使用哪个 JDK。每个 JDK 都注册一个优先级,然后通过命令来切换默认版本。
- 注册各个JDK
sudo update-alternatives --install /usr/bin/java java /usr/java/jdk1.8.0_xxx/bin/java 1 sudo update-alternatives --install /usr/bin/java java /usr/java/jdk-11.0_xxx/bin/java 2 sudo update-alternatives --install /usr/bin/java java /usr/java/jdk-17.android0_xxx/bin/java 3 sudo update-alternatives --install /usr/bin/javac javac /usr/java/jdk1.8.0_xxx/bin/javac 1 sudo update-alternatives --install /usr/bin/jaandroidvac javac /usr/java/jdk-11.0_xxx/bin/javac 2 sudo update-alternatives --install /usr/bin/javac javac /usr/java/jdk-17.0_xxx/bin/javac 3
其中“xxx”部分请替换为具体的版本号路径。
切换默认JDK
sudo update-alternatives --config java sudo update-alternatives --config javac
系统会列出已注册的各个版本,输入对应编号即可切换。
验证版本
执行以下命令确认当前默认版本:
java -version javac -version
方法二:通过环境变量和 alias 切换(用户级别)
这种方式适用于需要临时切换 JDK 版本或者仅对当前用户生效的情况。
编辑环境变量配置文件修改
/etc/profile
(全局)或~/.bash_profile
(当前用户)文件,追加如下内容(示例中配置了三个 alias 命令):编辑完成后,记得保存退出(例如,在 vim 中按
Esc
后输入:wq
保存并退出;在 nano 中按Ctrl+O
保存,然后Ctrl+X
退出)。sudo vi /etc/profile sudo nano /etc/profile vim ~/.bash_profile nano ~/.bash_profile
## 默认指向 JDK 8 export JAVA_HOME=/usr/local/java/jdk1.8.0_202 export PATH=$JAVA_HOME/bin:$PATH alias java8='export JAVA_HOME=/usr/local/java/jdk1.8.0_202 && export PATH=$JAVA_HOME/bin:$PATH && java -version' alias java21='export JAVA_HOME=/usr/local/java/jdk-21.0.6 && export PATH=$JAVA_HOME/bin:$PATH && java -version' ## alias java17='export JAVA_HOME=/usr/local/java/jdk-17.0_xxx && export PATH=$JAVA_HOME/bin:$PATH && java -version'
保存文件后,让配置生效:
source /etc/profile # 或者 source ~/.bash_profile
切换 JDK 版本
当你需要切换到某个版本时,只需执行相应 alias 命令,例如:
java21
验证切换效果运行:
java -version
以确认当前正在使用所设置的 JDK。
持久化配置:当前的配置只在当前终端会话中生效。若希望每次开启终端都能使用这些配置,需要把它们添加到 shell 的配置文件中,像
~/.bashrc
(针对 Bash s编程客栈hell)或者~/.zshrc
(针对 Zsh shell)。添加配置的命令示例如下:echo 'export JAVA_HOME=/usr/local/java/jdk1.8.0_202' >> ~/.bashrc echo 'export PATH=$JAVA_HOME/bin:$PATH' >> ~/.bashrc echo 'alias java8='export JAVA_HOME=/usr/local/java/jdk1.8.0_202 && export PATH=$JAVA_HOME/bin:$PATH && java -version'' >> ~/.bashrc echo 'alias java21='export JAVA_HOME=/usr/local/java/jdk-21.0.6 && export PATH=$JAVA_HOME/bin:$PATH && java -version'' >> ~/.bashrc
添加完成后,执行以下命令让配置生效:
source ~/.bashrc
- 错误处理缺失:当前配置没有对目录不存在或者 JDK 版本不可用的情况进行错误处理。你可以在
alias
命令里添加一些错误检查逻辑,示例如下:
alias java8='if [ -d "/usr/local/java/jdk1.8.0_202" ]; then export JAVA_HOME=/usr/local/java/jdk1.8.0_202 && export PATH=$JAVA_HOME/bin:$PATH && java -version; else echo "JDK 8 目编程录不存在"; fi' alias java21='if [ -d "/usr/local/java/jdk-21.0.6" ]; then export JAVA_HOME=/usr
- 错误处理缺失:当前配置没有对目录不存在或者 JDK 版本不可用的情况进行错误处理。你可以在
update-alternatives 方法适合系统级别的 JDK 管理,适用于需要在不同项目间统一切换默认 JDK 的场景。
环境变量和 alias 方法适合用户临时切换,或者针对不同需求(如开发与测试)灵活设置。
总结
到此这篇关于CentOS安装配置多版本JDK的文章就介绍到这了,更多相关CentOS安装配置多版本JDK内容请搜索编程客栈(www.devze.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.devze.com)!
精彩评论