安装其他版本jdk
告别版本冲突:轻松安装与管理不同JDK版本
在Java开发中,版本兼容性是永恒的挑战:老项目依赖JDK 8,新项目需体验JDK 17的虚拟线程,测试环境要兼容JDK 11...不同场景下对JDK版本的需求,让多版本共存成为刚需。本文将从安装流程、环境配置到版本切换,手把手教你搞定多JDK版本管理。
一、安装前的准备:明确需求与版本选择
安装多版本JDK前,需先确定目标版本和系统环境。JDK版本主要分为LTS(长期支持版) 和非LTS版,LTS版本(如JDK 8、11、17)更适合生产环境,更新周期长且兼容性稳定;非LTS版(如JDK 18、20)则含新特性但支持周期短。系统环境以Linux、Windows、macOS为主,不同系统安装方式略有差异。
二、分系统安装JDK:从手动到自动化
1. Linux系统(以Ubuntu为例)
推荐通过SDKMAN!或手动解压包安装,后者更灵活。
-
手动安装:
- 从Oracle官网或OpenJDK镜像站下载对应版本(如JDK 11和17的tar.gz包)。
- 解压到
/usr/local/java:sudo tar -zxvf jdk-17_linux-x64_bin.tar.gz -C /usr/local/java。 - 配置环境变量:编辑
~/.bashrc,添加:export JAVA_HOME=/usr/local/java/jdk-17.0.2 export PATH=$JAVA_HOME/bin:$PATH执行
source ~/.bashrc生效,输入java -version验证。
-

工具安装:
用SDKMAN!一键管理多版本,避免手动配置。
安装命令:curl -s "https://get.sdkman.io" | bash,重启终端后执行sdk install java 17.0.2-tem(tem代表Temurin版本),再用sdk list java查看已安装版本,sdk use java 17.0.2-tem即可切换。
2. Windows系统
推荐通过安装包或环境变量手动配置:
- 安装包方式:下载Oracle JDK的.exe安装包,按提示完成安装(默认路径为
C:\Program Files\Java\jdk-17.0.2),系统会自动配置部分环境变量,需手动添加JAVA_HOME到系统变量,并将%JAVA_HOME%\bin加入PATH。 - 验证:打开CMD输入
java -version,输出类似openjdk 17.0.2即成功。
3. macOS系统
- Homebrew安装:执行
brew install openjdk@17(安装JDK 17,可替换版本号),Homebrew自动管理依赖并配置环境变量,输入java -version即可验证。 - 手动安装:下载.pkg安装包,按向导安装后,在终端执行
/usr/libexec/java_home -V查看所有已安装JDK路径,通过export JAVA_HOME=$(/usr/libexec/java_home -v 17)切换版本。
三、多版本共存与环境切换
1. 手动切换:修改环境变量
若用多个JDK手动安装,可通过alias或脚本临时切换。例如在Linux中,编写切换脚本:
#!/bin/bash
# jdk8.sh
export JAVA_HOME=/usr/local/java/jdk1.8.0_361
export PATH=$JAVA_HOME/bin:$PATH
执行source jdk8.sh即可切换到JDK 8。
2. 工具化管理:SDKMAN!/ASDF
-
SDKMAN!:除JDK外,还支持Gradle、Maven等工具版本管理,命令行操作简单。
常用命令:- 查看版本列表:
sdk list java - 安装指定版本:
sdk install java 11.0.15-tem - 切换默认版本:
sdk default java 17.0.2-tem
- 查看版本列表:
-
ASDF:多语言版本管理工具,支持JDK、Node.js等,需先安装ASDF,再执行:
asdf plugin add java https://github.com/halcyon/asdf-java.git
asdf install java 17.0.2-tem
asdf local java 17.0.2-tem(仅当前项目生效)
四、避坑指南:从安装到验证
- 版本验证:无论哪种安装方式,务必执行
java -version和javac -version,确保命令输出与目标版本一致。 - 环境变量冲突:若手动配置多个JDK,需检查
PATH顺序,靠前的版本会优先生效。 - 权限问题:Linux下避免用root用户安装,将JDK解压到普通用户目录(如
~/java),通过软链接指向/usr/local/java简化管理。 - 安全防护:只从官方渠道下载JDK,避免第三方镜像的恶意篡改,安装后用
shasum验证文件哈希值。
五、总结
多版本JDK的安装与管理,核心是“工具优先”:新手推荐SDKMAN!或Homebrew,高效且不易出错;复杂场景可用ASDF实现全语言版本统一管理。记住,版本切换的本质是动态调整JAVA_HOME,通过工具自动化可大幅减少人为错误。合理规划版本兼容性,才能让开发流程更流畅。
关键操作清单:
- 下载JDK:从Adoptium获取OpenJDK,避免Oracle账号绑定。
- 版本切换:用SDKMAN!
sdk use java 17.0.2-tem一步到位。 - 验证工具:
java -version+javac -version双检查。
掌握多版本管理,从此告别“版本兼容”的困扰,让新特性与旧项目并行不悖。








