Windows下JDK下载、配置Java环境变量配置及多个JDK使用

Windows下JDK下载、配置Java环境变量配置及多个JDK使用

1. Windows下配置Java-JDK环境变量

1.1 下载Windows版本JDK

下载地址:(https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html)

1.2 Windows下安装JDK

双击进行安装

下一步,选择安装路径,一般默认就好

下一步,进行安装,安装完成,关闭就好

查看安装目录,已有jdk-17文件夹

之前我已经装过jdk8(请忽略此目录)

注意:之前版本都会自动安装jre,JDK17没有安装,下面我们手动安装一下。其他版本如没有自动安装jre参考下面步骤安装即可

1.3 JDK安装jre环境

管理员运行CMD命令

使用cd命令切换到jdk-17目录

shell 复制代码
cd C:\Program Files\Java\jdk-17

执行下面命令进行安装jre环境

shell 复制代码
bin\jlink.exe --module-path jmods --add-modules java.desktop --output jre

查看安装目录

注意:之前版本的jre都是默认安装在和jdk同级目录,而jdk-17则是安装在了jdk-17目录下

1.4 自动配置JDK环境变量

注意:安装jdk-17后,会自动配置环境变量,正常是不需要管的,直接打开cmd查看jdk版本

shell 复制代码
java -version

1.5 自定义配置JDK环境变量及两个JDK配置

下面介绍自己配置环境变量
打开Windows系统环境变量

步骤:右键-【我的电脑】-【属性】

点击-【高级系统设置】

点击-【环境变量】

查看-【path】变量


看到这里有几个问题

  1. 我之前配置了JDK8,现在新安装了JDK17,默认使用了JDK17,那么我怎么切换回JDK8呢?

    答:将JDK8的环境变量切到Path变量最前面。

  2. 我将JDK8的环境变量切到了Path变量最前面,还是使用JDK17?

    原因:因为在安装JDK时自动将java.exe、javaw.exe、javaws.exe三个可执行文件复制到了C:\Windows\System32目录,由于这个目录在WINDOWS环境变量中的优先级高于JAVA_HOME设置的环境变量优先级。所以JDK自动配置的就是最后安装的那个(除JDK不自动配置版本)

    解决:将Windows\System32中的3个java开头的文件删除即可!!(注意如果System32中没有可以去SysWOW64文件夹中找找看)

    注意:文件夹内可能会没有这3个文件,如没有继续向下看即可。

  3. 我将这三个文件删掉后,还是指向JDK-17版本?

    答:将这两个变量删掉(C:\Pragram Files\Common Files\Oracle\Java\javapath和C:\ProgramData\Oracle\Java\javapath),全部使用自己配置的,下面会进行配置介绍及JDK版本切换。
    进入环境变量编辑页面

因为我这里装了两个JDK,所有我创建两个JAVA_HOME变量为:JAVA_HOME_8和JAVA_HOME_17

编辑Path变量

配置Path变量
我这里配置了两个,使用哪个就把哪个放在上面;然后一路确定回去。

这里我把JAVA_HOME_8放到了上面,那么cmd查看jdk版本如下

下面我把JAVA_HOME_17放到上面,那么测试结果如下(每次配置完都需要关闭重新打开CMD窗口吼)

注意:我这里是没有配置CLASSPATH变量的,如果javac不起作用,那么就需要配置一个CLASSPATH变量:使用哪个JDK就配置哪个

shell 复制代码
.;%JAVA_HOME_17%\lib
相关推荐
达文汐1 分钟前
【困难】力扣算法题解析LeetCode332:重新安排行程
java·数据结构·经验分享·算法·leetcode·力扣
一匹电信狗1 分钟前
【LeetCode_21】合并两个有序链表
c语言·开发语言·数据结构·c++·算法·leetcode·stl
培风图南以星河揽胜2 分钟前
Java版LeetCode热题100之零钱兑换:动态规划经典问题深度解析
java·leetcode·动态规划
AndyHeee21 分钟前
【windows使用TensorFlow,GPU无法识别问题汇总,含TensorFlow完整安装过程】
人工智能·windows·tensorflow
启山智软25 分钟前
【中大企业选择源码部署商城系统】
java·spring·商城开发
2401_8384725127 分钟前
C++中的访问者模式
开发语言·c++·算法
我真的是大笨蛋28 分钟前
深度解析InnoDB如何保障Buffer与磁盘数据一致性
java·数据库·sql·mysql·性能优化
远程修电脑→241697677538 分钟前
三角洲行动弹窗提示CPU虚拟化未开启或被占用启动腾讯游戏时出现【ACE安全中心】虚拟化相关报错
windows
csbysj202038 分钟前
《Foundation 开关:深度解析其原理与应用》
开发语言
188_djh39 分钟前
# 15_电脑版百度网盘每次登录都显示安全验证,很麻烦,一招解决
windows·app·百度网盘·百度网盘安全验证·baidudisk