一、java环境变量配置是安在系统变量好还是用户变量好?
建议安在系统变量,因为用户变量只会在本用户生效。
二、如何配置环境变量
1.首先去下载jdk
JDK 是 Java 开发者必备的工具包,提供了从编写、编译到调试和运行 Java 程序所需的所有功能。
jdk包含jre,jre即 Java Runtime Environment,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:\Porgram File\Java\
JDK17则只需要安装jdk即可
在安装时可以选择jdk的安装路径,jdk8之前最好把jdk和jre安装在同一目录下。
?3.环境变量配置
首先打开环境变量,可以直接在搜索框中搜索环境变量
3.1 JAVA_HOME变量
在系统变量中新建JAVA_HOME变量,变量值为jdk安装路径
3.2 Path变量
在编辑Path变量时我们的Path变量显示可能不是列表,而是显示一行,这样非常不方便我们进行环境变量的配置,其实非常简单,现在大部分人用的都是win10的64位的系统,只要在path变量值的最前面,加上C:\Windows\System64;即可。
这样就能很直观的查看配置的环境变量。
配置bin和jre的路径,如果Path变量值不是列表形式,还需要使用;进行分割,列表形式会通过;对变量值进行分割,也就不需要加;了。
--变量名 Path--变量值 %JAVA_HOME%\bin %JAVA_HOME%\jre\bin
3.3 ClassPath变量
CLASSPATH 是一个环境变量,它告诉 Java 虚拟机 (JVM) 和 Java 编译器 (javac) 从哪里查找类文件和库。配置 CLASSPATH 的方式可以影响 Java 应用程序的运行和编译。
新建变量
--变量名 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 类库,这些库是 Java 程序运行所需的核心类 3、%JAVA_HOME%\lib\tools.jar: 这个 JAR 文件包含了 Java 开发工具的类,包括编译器 (javac) 和其他一些工具的实现。它在使用某些开发工具和 IDE(例如,Eclipse 或 NetBeans)时通常是必需的。
三、验证是否配置成功
win+R输入cmd打开命令行窗口
输入javac
输入java -version 查看jdk版本是否匹配
出现版本即成功了。
四、如何切换jdk版本
只需要修改JAVA_HOME变量即可,将该变量指向要切换的安装的jdk的路径即可。
但是这样每次都需要去修改路径,我们还是觉得麻烦,我们可以为每个jdk维护一个独属于他们的JAVA_HOME变量,然后将他们的值替换JAVA_HOME变量即可。
例如jdk8就命名为JAVA_HOME8
jdk17就命名为JAVA_HOME17
然后将JAVA_HOME的变量值去指向JAVA_HOME8,这样就能实现同样的效果
%%中间可以读取变量名对应的值。
然后使用java -version查看当前版本
?注意:切换版本后要重新启动命令行窗口,否则显示的还是原来的jdk版本会误以为修改不成功。
五、安装jdk17后,自己配置的环境变量配置不生效
问题描述:
安装jdk8后,环境变量配置的jdk8的路径,但是在安装jdk17后,系统的环境变量变成了jdk17,没有修改环境变量的配置但是确自动修改了环境变量。
原因:
jdk17在安装的时候会自动配置环境变量,也就是说jdk配置的环境的变量的优先级高于我们自己配置的环境优先级了。因此导致自己配置的环境变量无法生效。
jdk在运行时寻找环境变量配置顺序
C:\Windows\System32目录下的java.exe、javaw.exe、javaws.exe三个文件Path变量中的在安装后jdk配置的环境变量C:\ProgramData\Oracle\Java\javapath自己配置的环境变量解决方案:
删除C:\Windows\System32目录下的java.exe、javaw.exe、javaws.exe三个文件删除环境变量Path中C:\ProgramData\Oracle\Java\javapath的配置或者将自己配置的环境变量移至jdk生成的环境变量之上即可。也就是改变优先级。