电脑安装两个jdk版本无法切换 同时安装JDK8和JDK16 配置JAVA_HOME为JDK8但 java 和 javac 版本都是16

本文介绍了在Windows系统中,同时安装JDK8和JDK16时遇到的JAVA_HOME配置问题。尽管设置了JAVA_HOME为JDK8,但java和javac命令仍显示为JDK16的版本。问题的关键在于JDK16在Path环境变量中的优先级高于JDK8。解决方法是将JDK8的JAVA_HOME环境变量调整到Path的首位,确保优先使用JDK8。此外,还提供了其他如删除System32下的java.exe和javac.exe文件,以及调整Path变量顺序等解决方案。
摘要由CSDN通过智能技术生成

JDK8是目前最稳定使用最多的版本,大厂开发都使用JDK8。JDK16是目前最新版。

问题描述

同一台电脑同时安装了JDK8和JDK16,先安装了JDK16后安装的JDK8,设置JAVA_HOME指定给JDK8版本,但是java 和 javac 版本都是16,无法切换到JDK8。

CLASSPATH也进行了配置。

Path也添加上了。

使用 -version 命令在cmd中查看版本。

发现配置了JAVA_HOME为JDK8但 java 和 javac 版本都是16 。

问题原因

安装JDK16过程中已经自动添加了环境变量,并且默认处于Path环境变量第一条。

环境变量指定的优先查找的路径为 C:\Program Files\Common Files\Oracle\Java\javapath ,该路径下包含自动创建的 java16 版本的 java.exe 、 javac.exe 、 javaw.exe 和 jshell.exe ,导致在命令行系统默认选择java16版本。

解决方法 

将指定JDK8的 Java_Home 环境变量上移到第一行,使之处于最高优先级。

重启cmd,再次查看 java 和 javac 版本,成功设置为 JDK8 。

其他解决方案

1、若C:\Windows\System32目录下存在java.exe和javac.exe则可以将这些文件删除, 通过自己设定的Path路径找到JDK;

2、若java -version和javac -version版本不一致时,将 %JAVA_HOME%\bin 加在 Path 变量的头;

3、多版本JDK安装时,可以设置两个子JAVA_HOME,一个总的JAVA_HOME设置在两个子JAVA_HOME之间进行选择,例如:

JAVA_HOME7 = D:\Program Files\Java\jdk1.7.0_80 
JAVA_HOME8 = D:\Program Files\Java\jdk1.8.0_111

JAVA_HOME = %JAVA_HOME8%

  • 10
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值