JDK环境变量配置、版本切换及安装后失效问题解决

一、Java环境变量配置选系统变量还是用户变量?

建议将其配置在系统变量中,因为用户变量仅在当前登录的用户下生效。

二、环境变量的配置方法

1. 首先下载JDK

JDK是Java开发者不可或缺的工具包,它涵盖了从编写、编译到调试和运行Java程序所需的全部功能。
JDK包含JRE,JRE即Java运行时环境,而JRE又包含JVM(Java虚拟机,其作用是将字节码转换成机器码,并在操作系统上运行)。
JDK下载官网

2. JDK的安装

需留意:
从JDK 9版本开始,JRE的概念被整合到了JDK之中。在此之前,JDK和JRE是作为两个独立的组件存在的。自JDK 9起,Java平台把JRE的功能融入到了JDK里,开发者只需安装JDK就能同时获取开发和运行Java应用程序所需的所有工具与库。
具体而言,从JDK 9开始,不再单独提供JRE,用户安装JDK时就自动拥有了运行Java应用程序的环境。这种设计简化了安装流程,让开发和运行Java程序更为便捷。
也就是说,JDK8不仅要安装JDK,还得安装JRE。
JDK的默认安装路径是C:\Program Files\Java\。
JDK8安装路径示例
JDK17只需安装JDK即可。
JDK17安装路径示例
安装时可以选择JDK的安装路径,在JDK8之前最好把JDK和JRE安装在同一个目录下。

💥3. 环境变量的配置

首先打开环境变量,可以通过在搜索框中搜索“环境变量”来实现。
打开环境变量的搜索示例
或者通过Win+R组合键打开运行输入框,输入“sysdm.cpl”并回车,会打开“系统属性”对话框,点击“高级”选项卡,再点击下方的“环境变量”按钮,就能进入编辑系统变量的界面。
系统属性高级选项卡
环境变量按钮位置

3.1 JAVA_HOME变量

在系统变量中新建JAVA_HOME变量,其变量值为JDK的安装路径。
JAVA_HOME变量创建示例

3.2 Path变量

编辑Path变量时,其显示可能不是列表形式而是一行,这不利于配置环境变量。其实很简单,对于大部分使用Win10 64位系统的用户,只需在Path变量值的最前面加上C:\Windows\System64;,这样就能更直观地查看配置的环境变量。
Path变量编辑示例
之后要配置bin和jre的路径,如果Path变量值不是列表形式,需要用;进行分割,列表形式会自动通过;分割变量值,就不需要额外加;了。

--变量名 Path
--变量值 %JAVA_HOME%\bin %JAVA_HOME%\jre\bin
3.3 ClassPath变量

CLASSPATH是一个环境变量,它告知Java虚拟机(JVM)和Java编译器(javac)到哪里去查找类文件和库,其配置会影响Java应用程序的运行和编译。
新建变量:
ClassPath变量创建示例

--变量名 ClassPath或者CLASSPATH 
--变量值 .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; 

各部分含义:
1. .: 代表当前目录。通过包含.,Java会在当前工作目录中查找类文件,这是常见配置,方便开发者在当前目录直接运行Java程序。
2. %JAVA_HOME%\lib: %JAVA_HOME%是指向Java安装目录的环境变量,%JAVA_HOME%\lib指向Java的库文件夹,包含Java程序运行所需的核心类库。
3. %JAVA_HOME%\lib\tools.jar:这个JAR文件包含Java开发工具的类,包括编译器(javac)等工具的实现,在使用某些开发工具和IDE(如Eclipse或NetBeans)时通常是必需的。
ClassPath变量配置示例

三、验证配置是否成功

通过Win+R组合键打开命令行窗口,输入cmd并回车。输入javac,若出现相关编译信息则说明有一定基础配置。输入java -version查看JDK版本,若能正确显示版本则表示配置成功。
java -version验证示例

四、切换JDK版本的方法

只需修改JAVA_HOME变量,将其指向要切换的JDK安装路径即可。不过每次都手动修改比较麻烦,我们可以为每个JDK维护独属于它们的JAVA_HOME变量,比如将JDK8对应的命名为JAVA_HOME8,JDK17对应的命名为JAVA_HOME17,然后让JAVA_HOME变量指向相应的变量名。因为%%中间可以读取变量名对应的值。
切换版本变量示例
切换版本后要重新启动命令行窗口,否则可能显示的还是原来的JDK版本,会误以为修改没有成功。

五、安装JDK17后自己配置的环境变量不生效的问题

问题描述

安装JDK8后配置了JDK8的路径,但安装JDK17后,系统的环境变量变成了JDK17的,没修改环境变量配置却自动改变了。

原因

JDK17安装时会自动配置环境变量,导致其配置的环境变量优先级高于我们自己配置的,从而使得我们自己配置的环境变量无法生效。JDK运行时查找环境变量的顺序是:
1. C:\Windows\System32目录下的java.exe、javaw.exe、javaws.exe三个文件;
2. Path变量中安装后JDK配置的环境变量C:\ProgramData\Oracle\Java\javapath;
3. 自己配置的环境变量。

解决方案

  1. 删除C:\Windows\System32目录下的java.exe、javaw.exe、javaws.exe三个文件;
  2. 删除环境变量Path中C:\ProgramData\Oracle\Java\javapath的配置,或者将自己配置的环境变量移到JDK生成的环境变量之上以改变优先级。
    环境变量调整示例

文章整理自互联网,只做测试使用。发布者:Lomu,转转请注明出处:https://www.it1024doc.com/12724.html

(0)
LomuLomu
上一篇 2025 年 7 月 3 日
下一篇 2025 年 7 月 3 日

相关推荐

  • IDEA激活码,永久破解,最新IDEA激活教程

    本教程适用于IDEA、PyCharm、DataGrip、Goland等,支持Jetbrains全家桶! 废话不多说,先给大家看一下最新IDEA版本的破解截图,可以看到已经成功破解至2099年,激活效果非常好! 接下来,我会通过图文方式,详细讲解如何激活IDEA至2099年。 无论你使用的是Windows、Mac还是Linux系统,无论你的IDEA版本是多少,…

    2025 年 4 月 16 日
    55000
  • MySQL 面试题

    MySQL 中有哪几种锁? 全局锁、行级锁、自增锁、记录锁、外键锁、间隙锁、表级锁、元数据锁、意向锁、临键锁 MySQL 中有哪些不同的表格? 基础表、临时表、系统表、信息表、性能模式表、分区表、外键表、触发器使用的表、存储过程和函数使用的表 简述在 MySQL 数据库中 MyISAM 和 InnoDB 的区别? 事务支持 InnoDB:支持事务处理,具有提…

    未分类 2025 年 1 月 15 日
    64600
  • 无需账号注册一键获取goland激活码,最全破解教程

    重要提示:本文所涉及的GoLand破解补丁及激活码资源均来源于网络收集,仅限个人学习研究使用,严禁商业用途。若条件允许,强烈建议购买官方正版授权。如内容存在侵权问题,请联系作者删除。 GoLand作为JetBrains旗下专为Go语言开发者打造的强大IDE,支持Windows、macOS及Linux全平台。本文将手把手教你如何通过破解补丁实现永久激活,解锁全…

    2026 年 1 月 12 日
    1700
  • 2025年最新DataGrip激活码与永久破解教程 – 支持JetBrains全家桶

    教程说明 本教程适用于JetBrains系列所有数据库开发工具,特别是DataGrip,同时也兼容PyCharm、IDEA等其他产品。首先展示DataGrip最新版本成功破解至2099年的效果图: 本文将详细讲解如何永久激活DataGrip至2099年的完整流程,该方法适用于各个版本,无论您使用的是Windows、Mac还是Linux操作系统,都能确保100…

    DataGrip激活码 2025 年 7 月 21 日
    21600
  • 【JavaSE】【网络协议】HTTP 请求和响应

    一、HTTP请求 1.1 请求格式 请求格式:首行+请求头(header)+空行+正文(body) 1.2 首行组成 首行组成:请求方法+URL+版本号。使用“空格”将他们分隔开。 1.2.1 请求方法 方法 说明 支持的HTTP版本 GET 获取资源 1.0 1.1 POST 传输实体主体 1.0 1.1 PUT 传输文件 1.0 1.1 DELETE 删…

    2025 年 1 月 15 日
    52600

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信