Windows同时安装两个版本的JDK并随时切换,以JDK6和JDK8为例,并解决相关存在的问题(亲测有效)

Windows同时安装两个版本的JDK并随时切换,以JDK6和JDK8为例,并解决相关存在的问题(亲测有效)

1.下载不同版本JDK

这里给出JDK6和JDK的百度网盘地址,具体安装过程,傻瓜式安装即可。

链接:https://pan.baidu.com/s/1_GWSDN4xZMQtTp2h9NO-4Q?pwd=cg0u

提取码:cg0u

如下图所示,此时已经存在了JDK6和JDK8两个版本。

安装过程纯粹傻瓜式安装,只需要点击安装包,一直下一步即可。

2.配置两个JDK的环境变量

第一步 :在搜索窗口输入环境,找到编辑系统环境变量的入口。记住一定要是系统环境变量 ,如果是用户变量设置的话,可能会失败。

第二步 :在弹出如下的窗口中,点击环境变量

第三步 :出现如下页面,开始新增环境变量

第四步 :点击新建按钮开始进行环境新增

第五步:新增如下几个环境

JDK6环境配置

c 复制代码
JAVA6_HOME=C:\Program Files\Java\jdk1.6.0_45  # 此处地址填写自己本地真实地址

JDK8环境配置

c 复制代码
JAVA6_HOME=C:\Program Files\Java\jdk-1.8  # 此处地址填写自己本地真实地址

JAVA_HOME环境配置

c 复制代码
#如果需要1.6的环境,只需要将此处改为JAVA6_HOME
JAVA_HOME=%JAVA6_HOME% 
c 复制代码
#如果需要1.8的环境,只需要将此处改为JAVA8_HOME
JAVA_HOME=%JAVA8_HOME% 

第六步:根据不同的环境进行不同的环境变量配置

最终在PATH环境中新增变量

新增如下两个变量

c 复制代码
%JAVA_HOME%\bin
%JAVA_HOME%\jre\bin    

第七步 :此时有一个重要事项!!!!!!!也是最重要的一步

此时会看到如上途中,有个C:\Program Files (x86)\Common Files\Oracle\Java\javapath环境变量,经过实战测试需要下移到下面两个变量的下面,修改后如下图所示:

c 复制代码
%JAVA_HOME%\bin
%JAVA_HOME%\jre\bin  

修改完成之后,就可以进行查看环境是否安装成功。

第八步:win+R查看cmd ,命令行输入 如下命令

c 复制代码
java -version

如果此时环境是:

c 复制代码
JAVA_HOME=%JAVA8_HOME% 

此时显示:

如果此时环境是:

c 复制代码
JAVA_HOME=%JAVA6_HOME% 

此时显示:

3.可能存在的问题,修改变量后不显示

问题

如果设置了

C 复制代码
JAVA_HOME=%JAVA6_HOME% 

但是显示当前jdk版本为1.8,这不科学,因为环境变量中配置的JAVA_HOME是1.6的路径,查看版本应该要是1.6的才对,现在变成1.8,jdk的环境变量未被改变,通过查询后发现问题:

在安装JDK1.8时(本机先安装jdk1.6再安装的jdk1.8),自动将java.exe、javaw.exe、javaws.exe三个可执行文件复制到了C:\Windows\System32目录,由于这个目录在WINDOWS环境变量中的优先级高于JAVA_HOME设置的环境变量优先级。

主要解决方式1:

删除C:\Windows\System32目录下的java.exe,删除即可。

主要解决方式2:

\System32目录,由于这个目录在WINDOWS环境变量中的优先级高于JAVA_HOME设置的环境变量优先级。

主要解决方式1:

删除C:\Windows\System32目录下的java.exe,删除即可。

主要解决方式2:

如果Path中有 C:\Program Files (x86)\Common Files\Oracle\Java\javapath; ,删除之。否则会引变量错误。

相关推荐
_oP_i15 分钟前
Pinpoint 是一个开源的分布式追踪系统
java·分布式·开源
mmsx18 分钟前
android sqlite 数据库简单封装示例(java)
android·java·数据库
bryant_meng20 分钟前
【python】OpenCV—Image Moments
开发语言·python·opencv·moments·图片矩
武子康43 分钟前
大数据-258 离线数仓 - Griffin架构 配置安装 Livy 架构设计 解压配置 Hadoop Hive
java·大数据·数据仓库·hive·hadoop·架构
若亦_Royi44 分钟前
C++ 的大括号的用法合集
开发语言·c++
资源补给站2 小时前
大恒相机开发(2)—Python软触发调用采集图像
开发语言·python·数码相机
豪宇刘2 小时前
MyBatis的面试题以及详细解答二
java·servlet·tomcat
秋恬意2 小时前
Mybatis能执行一对一、一对多的关联查询吗?都有哪些实现方式,以及它们之间的区别
java·数据库·mybatis
m0_748247552 小时前
Web 应用项目开发全流程解析与实战经验分享
开发语言·前端·php
6.942 小时前
Scala学习记录 递归调用 练习
开发语言·学习·scala