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; ,删除之。否则会引变量错误。

相关推荐
@LetsTGBot搜索引擎机器人几秒前
打造属于你的 Telegram 中文版:汉化方案 + @letstgbot 搜索引擎整合教程
开发语言·python·搜索引擎·机器人·.net
人工智能的苟富贵9 分钟前
使用 Tauri + Rust 构建跨平台桌面应用:前端技术的新边界
开发语言·前端·rust·electron
lkbhua莱克瓦2411 分钟前
Java基础——常用API2
java·笔记·github·学习方法
j_xxx404_11 分钟前
C++ STL:string类(3)|operations|string类模拟实现|附源码
开发语言·c++
摇滚侠31 分钟前
Spring Boot3零基础教程,Lambda 表达式与函数式接口,笔记95
java·spring boot·笔记
好学且牛逼的马35 分钟前
【JavaWeb|day19 Web后端进阶 SpringAOP、SpringBoot原理、自定义Starter、Maven高级】
java·spring boot·rpc
码界奇点36 分钟前
Java 开发日记MySQL 与 Redis 双写一致性策略挑战与实战解析
java·redis·sql·mysql·java-ee
GHZero43 分钟前
Java 之解读String源码(九)
java·开发语言
Swift社区1 小时前
Lombok 不生效 —— 从排查到可运行 Demo(含实战解析)
java·开发语言·安全
南清的coding日记1 小时前
Java 程序员的 Vue 指南 - Vue 万字速览(01)
java·开发语言·前端·javascript·vue.js·css3·html5