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

2022-06-27 00:00:00 配置 安装 切换

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

问题描述

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

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

CLASSPATH也进行了配置。

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

Path也添加上了。

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

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

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

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

问题原因

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

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

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

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

解决方法 

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

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

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

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

 

其他解决方案

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%

 

 

    原文作者:身价五毛
    原文地址: https://blog.csdn.net/Ximerr/article/details/117285339
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。

相关文章