一、java环境变量配置是安在系统变量好还是用户变量好?
建议安在系统变量,因为用户变量只会在本用户生效。
二、如何配置环境变量
1.首先去下载jdk
jdk 是 java 开发者必备的工具包,提供了从编写、编译到调试和运行 java 程序所需的所有功能。
jdk包含jre,jre即 java runtime environment,java运行时环境,jre包含jvm(java虚拟机,负责将字节码转换为机器码,并在操作系统上执行。)
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生成的环境变量之上即可。也就是改变优先级。

总结
到此这篇关于jdk环境变量配置切换jdk版本及安装jdk后环境变量不生效问题解决办法的文章就介绍到这了,更多相关jdk环境变量配置切换jdk版本内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论