在Windows上为Java配置多个版本的环境变量的操作指南

 更新时间:2026年04月27日 09:28:08   作者:凭君语未可  
本文介绍了在Windows系统上配置多个Java版本环境变量的方法,包括配置CLASSPATH和PATH,设置多个JAVA_HOME变量,以及如何切换和验证Java版本,通过合理配置,实现不同Java版本的高效切换,需要的朋友可以参考下

一、背景知识

我们在进行 Java 开发时有时会需要在不同版本的 Java 之间切换,例如同时使用 Java 8 和 Java 17。为了在 Windows 系统上高效管理这些版本,合理配置环境变量显得尤为重要。本文将详细讲解如何在 Windows 上配置多个版本的 Java 环境变量,并实现方便快捷的版本切换。

二、步骤详解

1. 配置系统变量:CLASSPATH和PATH

CLASSPATH 是Java程序运行时所需要的类路径。对于多个版本的Java,可以在系统变量中设置CLASSPATH,以便程序能够找到不同版本的库文件。

  • 打开系统属性,点击环境变量
  • 系统变量部分,点击新建,创建一个名为 CLASSPATH 的变量,并设置其值如下:
.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar


这里的 %JAVA_HOME% 会根据系统上设置的Java版本自动指向对应的路径。

接下来,配置 Path 变量:

  • 系统变量部分找到 Path 变量,点击编辑
  • 编辑环境变量界面,点击新建,并分别添加以下内容:
%JAVA_HOME%\bin
%JAVA_HOME%\jre\bin

这样,系统会根据 %JAVA_HOME% 指定的Java版本来查找和执行Java工具。

2. 设置多个JAVA_HOME变量

为了方便在多个Java版本之间切换,我们可以在系统变量中创建多个 JAVA_HOME 变量。例如,我定义了五个 JAVA_HOME,分别指向不同版本的JDK路径。

  • 打开系统属性,点击环境变量
  • 系统变量部分,点击新建,添加以下JAVA_HOME变量(具体以自己电脑为准):
变量名变量值说明
JAVA_HOME%JAVA_HOME17%选择Java 17作为默认版本
JAVA_HOME11D:\environment\Java\JDK\JDK11.0.25指向Java 11的安装目录
JAVA_HOME17D:\environment\Java\JDK\JDK17.0.12指向Java 17的安装目录
JAVA_HOME21D:\environment\Java\JDK\JDK21指向Java 21的安装目录
JAVA_HOME8D:\environment\Java\JDK\JDK1.8.0_212指向Java 8的安装目录

在这里,%JAVA_HOME17%JAVA_HOME11 变量分别对应不同版本的JDK路径。当我们需要切换版本时,只需要修改 JAVA_HOME 变量指向的版本即可。

3. 选择和切换不同版本的Java

当我们想使用不同版本的Java时,只需修改JAVA_HOME变量指向的路径。例如,若要使用Java 17,只需将 JAVA_HOME 的值改为:

%JAVA_HOME17%

然后,保存并关闭所有窗口。此时,所有以 %JAVA_HOME% 为基础的环境变量都将自动切换到Java 17。

4. 验证配置

为了验证环境变量是否配置正确,我们可以打开命令提示符(CMD)(win+R),运行以下命令:

java -version

如果环境变量配置正确,它会显示当前Java版本。如果我们切换了JAVA_HOME,相应的Java版本号也应该会发生变化。

三、总结

通过合理配置环境变量,我们就可以在 Windows 系统上轻松管理多个版本的 Java。关键在于以下三点:

  1. 使用 %JAVA_HOME% 作为统一入口,通过修改其指向实现版本切换;
  2. PathCLASSPATH 中引用 %JAVA_HOME%,保证系统自动匹配当前选定版本;
  3. 验证配置时可通过 java -version 快速确认。

到此这篇关于在Windows上为Java配置多个版本的环境变量的操作指南的文章就介绍到这了,更多相关Windows Java配置多个版本环境变量内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 通过原理解析Spring mvc的内置编码过滤器

    通过原理解析Spring mvc的内置编码过滤器

    这篇文章通过原理主要给大家解析了关于Spring mvc的内置编码过滤器的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-09-09
  • 基于ZooKeeper实现队列源码

    基于ZooKeeper实现队列源码

    这篇文章主要介绍了基于ZooKeeper实现队列源码的相关内容,包括其实现原理和应用场景,以及对队列的简单介绍,具有一定参考价值,需要的朋友可以了解下。
    2017-09-09
  • 基于FeignException$InternalServerError的解决方案

    基于FeignException$InternalServerError的解决方案

    这篇文章主要介绍了FeignException$InternalServerError的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • Java线程状态变换过程代码解析

    Java线程状态变换过程代码解析

    这篇文章主要介绍了Java线程状态变换过程代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06
  • JAVA使用hutool工具实现查询树结构数据(省市区)

    JAVA使用hutool工具实现查询树结构数据(省市区)

    今天通过本文给大家分享JAVA使用hutool工具实现查询树结构数据(省市区),代码分为表结构和数据结构,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2021-08-08
  • SpringDataMongoDB多文档事务的实现

    SpringDataMongoDB多文档事务的实现

    mongodb4.0也出来一段时间了,这个版本最为大众期待的特性就是支持了多文档事务。这篇文章主要介绍了SpringDataMongoDB多文档事务的实现,感兴趣的小伙伴们可以参考一下
    2018-11-11
  • mybatis-plus实现四种lambda表达式方式

    mybatis-plus实现四种lambda表达式方式

    使用了lambda表达式 可以通过方法引用的方式来使用实体字段名的操作,本文主要介绍了mybatis-plus实现四种lambda表达式方式,具有一定的参考价值,感兴趣的可以了解一下
    2024-06-06
  • java 迭代器模式实例详解

    java 迭代器模式实例详解

    这篇文章主要介绍了java 迭代器模式实例详解的相关资料,需要的朋友可以参考下
    2017-05-05
  • 总结Java常用的时间相关转化

    总结Java常用的时间相关转化

    今天给大家带来的是关于Java的相关知识,文章围绕着Java常用的时间相关转化展开,文中有非常详细的介绍及代码示例,需要的朋友可以参考下
    2021-06-06
  • JAVA 对50取余数的五种方法试下

    JAVA 对50取余数的五种方法试下

    在数学计算中经常会遇到余数,本文主要介绍了JAVA 对50取余数的五种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-03-03

最新评论