在Java中如何安装并配置JDK多版本

来源:站长论坛作者:唐僧头衔:草根站长
导读:本期聚焦于小伙伴创作的《在Java中如何安装并配置JDK多版本》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《在Java中如何安装并配置JDK多版本》有用,将其分享出去将是对创作者最好的鼓励。

在Java开发过程中,经常会遇到不同项目依赖不同JDK版本的情况,比如老项目需要JDK8,新项目要用JDK17,这时候就需要在一台设备上安装并配置多个JDK版本,并且能灵活切换使用。掌握JDK多版本的管理方法,能有效避免环境冲突,提升开发效率。

在Java中如何安装并配置JDK多版本

Windows系统下JDK多版本安装配置

第一步:下载并安装多个JDK版本

首先到Oracle官网或者OpenJDK官网下载需要版本的JDK安装包,比如JDK8和JDK17的安装包。运行安装程序时,注意选择不同的安装目录,避免版本文件相互覆盖。比如JDK8可以安装到C:Javajdk1.8.0_301,JDK17安装到C:Javajdk-17.0.1

第二步:配置多版本环境变量

Windows的环境变量配置核心是为每个JDK版本单独设置变量,再通过主变量指向当前要使用的版本。首先新建两个系统变量:

  • JAVA8_HOME:变量值设为JDK8的安装路径C:Javajdk1.8.0_301
  • JAVA17_HOME:变量值设为JDK17的安装路径C:Javajdk-17.0.1

然后新建或者编辑系统变量JAVA_HOME,变量值设置为%JAVA8_HOME%或者%JAVA17_HOME%,需要切换版本时直接修改这个变量值即可。最后在系统变量Path中添加%JAVA_HOME%bin,注意不要保留之前单独添加的JDK路径。

第三步:验证配置是否生效

打开命令提示符,执行以下命令查看当前JDK版本:

java -version

如果输出的版本和当前JAVA_HOME指向的版本一致,说明配置成功。如果需要切换版本,只需要修改JAVA_HOME的引用值,再重新打开命令提示符验证即可。

Linux系统下JDK多版本安装配置

第一步:解压安装多个JDK版本

将下载好的JDK压缩包上传到Linux服务器,比如放到/usr/local/java目录下,分别解压不同版本的压缩包:

# 解压JDK8
tar -zxvf jdk-8u301-linux-x64.tar.gz
# 解压JDK17
tar -zxvf jdk-17.0.1_linux-x64_bin.tar.gz

解压后目录结构类似/usr/local/java/jdk1.8.0_301/usr/local/java/jdk-17.0.1

第二步:使用alternatives命令管理多版本

Linux系统提供了alternatives工具来管理多版本软件,我们可以通过这个工具注册多个JDK版本:

# 注册JDK8
sudo alternatives --install /usr/bin/java java /usr/local/java/jdk1.8.0_301/bin/java 1
sudo alternatives --install /usr/bin/javac javac /usr/local/java/jdk1.8.0_301/bin/javac 1
# 注册JDK17
sudo alternatives --install /usr/bin/java java /usr/local/java/jdk-17.0.1/bin/java 2
sudo alternatives --install /usr/bin/javac javac /usr/local/java/jdk-17.0.1/bin/javac 2

命令最后的数字是优先级,数字越大优先级越高,也可以后续手动选择版本。

第三步:切换并验证版本

执行以下命令选择要使用的JDK版本:

# 切换java命令版本
sudo alternatives --config java
# 切换javac命令版本
sudo alternatives --config javac

执行命令后会列出所有已注册的JDK版本,输入对应序号即可完成切换。切换后执行java -version验证版本是否正确。

多版本管理常见问题

版本切换后不生效

Windows系统下修改环境变量后,需要重新打开命令提示符窗口才能生效,已经打开的窗口不会同步新的环境变量。Linux系统下如果用了alternatives切换,执行source ~/.bashrc或者重新登录终端即可。

项目指定JDK版本

如果是用Maven或者Gradle构建的项目,可以在构建工具配置中指定项目使用的JDK版本,不需要全局切换。比如Maven的pom.xml中可以添加如下配置:

<properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
</properties>

这样项目编译运行时会自动使用指定的JDK版本,不受全局环境的影响。

JavaJDK多版本配置环境变量修改时间:2026-06-26 00:27:31

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。