windows安装双JDK并实现版本切换

我本来只有一个JDK11,后来因为要用到jdk8,但是我又不想卸载掉11,于是想到了jdk共存,根据百度经验操作作了如下一通操作:

1、删除java.exe,javac.exe,javaw.exe

首先,jdk11会自动在 C:\Program Files\Common Files\Oracle\Java\javapath 录下面生成三个文件
【注】如果是其他的JDK版本可能会在\Program Files(X86)或者ProgramData中,总能找到的。
在这里插入图片描述
这三个文件的优先级比较高,会使java -version和javac -version一直显示jdk11

2、删除系统环境变量中安装jdk8产生的 Path

C:\Program Files\Common Files\Oracle\Java\javapath,
C:\Program Files(x86)\Common Files\Oracle\Java\javapath
在这里插入图片描述

在安装jdk8的时候,安装过程中会在系统变量Path的最前面加上了C:\ProgramData\Oracle\Java\javapath;,这是安装jdk8的时候带出来的,并且在Path的最前面,所以无论修改注册表还是Java控制台都没有用,执行的指令在系统变量中搜寻命令时最先找到的就是C:\ProgramData\Oracle\Java\javapath;,始终是jdk8的。也删除。

3、正确配置环境变量

我已经安装好jdk8和jdk11了,所以直接进行环境变量的配置。
配得有点多,但是方便以后进行JDK版本的选择与修改。

3.1 JAVA_HOME和JRE_HOME

在这里插入图片描述

3.2 CLASSPATH

这里不动,依然为

%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar

在这里插入图片描述

3.3 path

删除

 C:\Program Files\Common Files\Oracle\Java\javapath,C:\Program Files(x86)\Common Files\Oracle\Java\javapath

根据我的安装目录, 修改%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin为,%JAVA_HOME%\bin;%JRE_HOME%\bin;最好以列表形式去修改,将他们分为两行,如果在同一行系统好像不识别,java -version会报java不是可执行命令。

看一下修改前后对比
在这里插入图片描述
正确的修改方式:
C:\Program Files(x86)\Common Files\Oracle\Java\javapath不是我盘符中实际存在的路径,我没删也没关系。
在这里插入图片描述
【注】像下面这样放到一行就会报错,所以要像上图一样分开。还要注意前后不要有多余的空格之类的符号!!!
在这里插入图片描述

4、版本切换测试

4.1 JDK1.8

当我JAVA_HOME和JRE_HOME中均为8版本时:
在这里插入图片描述
注意修改环境变量后要连续点两次确定,否则可能没生效,导致报错。
测试结果:
在这里插入图片描述

4.2 JDK11

修改环境变量:
在这里插入图片描述

连点两次确定后重新打开cmd进行测试(新打开一个窗口!!!)
在这里插入图片描述
JDK版本切换成功!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/548777.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

三大最被低估的安全技术 用户数量决定一切

以下就是今天安全业界普遍人们被低估的技术。由于有些安全专业人士认为很神奇的工具可能在别人看来是预算上的浪费,所以如果一种技术同时出现在被高估和低估的名单里也就不足为奇了。 白名单 应用安全是一些企业越来越担心的问题,因为企业和个人的应用越…

Jedis使用测试——连接本地及远程的Redis

我们要使用Java来操作Redis,就要学会使用Jedis 一、什么是jedis 是Redis官方推荐的java连接开发工具!使用Java操作Redis 中间件!如果你要使用java操作redis,那么一定要对Jedis十分的熟悉! 二、测试 新建一个空的工程,然后新建一…

NetBeans IDE 7.1 Window Layout Designer

http://blogs.oracle.com/geertjan/entry/netbeans_ide_7_1_window——————————————————————————————————————————————————————————————————In 7.1, youll see this in the New File dialog: I.e., as you ca…

org.springframework.data.redis.serializer.SerializationException: Cannot serialize;

错误: . ____ _ __ _ _/\\ / ____ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | _ | _| | _ \/ _ | \ \ \ \\\/ ___)| |_)| | | | | || (_| | ) ) ) ) |____| .__|_| |_|_| |_\__, | / / / /|_||___//_/_/_/:: Spring Boot :: …

poj2008

题意&#xff1a;给定一些点的坐标(hi,wi)&#xff0c;要选出一个点集&#xff0c;使得集合所包含的点数最多&#xff0c;且符合A*(H-h) B*(W-w) < C&#xff0c;h为集合中最小h&#xff0c;w为点集中最小w。 分析&#xff1a;我们是要找到这样的点集&#xff0c;hi>h&a…

Git右键没有Git Bash Here的解决办法

好长一段时间没有使用Git了&#xff0c;今天想用git在码云上下载东西&#xff0c;但是突然发现右键没有Git Bash Here了&#xff0c;然后在网上搜索了一番&#xff0c;然后解决了。 解决方法&#xff1a; winR 打开运行小窗口&#xff0c;在 “ 运行 ” 中输入‘ regedit ’&…

随想系列_4_从电影《可可西里》说起

今天&#xff0c;国庆节的第一天&#xff0c;感觉不到放假的轻松&#xff0c;反而更加觉得心情沉闷。 无聊&#xff0c;生活的主旋律&#xff0c;一直如此&#xff1b;死气沉沉&#xff0c;感觉不到活力&#xff1b;每天做的事空泛而无趣&#xff1b;没有任何意义&#xff0c;没…

对可重入锁和不可重入锁的理解

可重入锁&#xff1a;ReentrantLock 在学JUC的时候&#xff0c;听到可重入锁这个词&#xff0c;不理解它的概念&#xff0c;网上搜索一番&#xff0c;还是有点迷糊&#xff0c;所以自己再来做一下笔记&#xff0c;理一理思路。 一、锁是什么&#xff1f; 我们这里提到的锁&am…

Windows Phone 7开发一月谈(3)

如何获知手机与PC相连Spb Shell 技术研究windows mobile 6.0 C# 如何获得 SIM卡 ICCID &#xff1f;mobile上如何掉用API来挂掉电话关于全屏程序下输入法的显示问个获取主机IP地址的问题&#xff1f;在设置-电话界面中铃声播放问题怎样获取TAPI的LINECALLSTATE_RINGBACK消息Dir…

Synchronized 和 Lock 区别

Synchronized 和 Lock 区别 Synchronized 是内置的Java关键字&#xff0c; Lock 是一个Java类Synchronized 无法判断获取锁的状态&#xff0c;Lock 可以判断是否获取到了锁Synchronized 会自动释放锁&#xff0c;lock 必须要手动释放锁&#xff01;如果不释放锁&#xff0c;会…

对HashMap数据结构的理解——加载因子和初始容量

先看源码&#xff1a; 解释一下位移运算&#xff1a; 1<<4 是位移运算的表示&#xff0c;为十进制16 1的二进制表示&#xff1a;1 左移4位之后的二进制表示为B&#xff08;10000&#xff09; D&#xff08;16&#xff09; 更简单的计算方法就是 1<< n 等效于 1 乘…

objective-c 使用NSNumber 将int float long等数据类型加入到数组或字典中

objective-c 使用NSNumber 将int float long等数据类型加入到数组或字典中设置值和取值如下代码&#xff1a;NSNumber *number[NSNumber numberWithInt:45]; NSLog("NSNumber %d",[number intValue]);

远程服务器电脑的设置

1、因为我要远程的电脑已经被人家设置过了远程了&#xff0c;而他已经将远程的端口改为4816&#xff0c;所以我一直以为是3389端口&#xff0c;上网搜索了很久都没有发现什么问题出现在哪&#xff1f;命令环境下查看端口状态都还是关着的&#xff0c;没有打开&#xff0c;远程一…

巧用加密方法保障电子邮件系统安全

近几年来&#xff0c;针对公司的间谍活动越来越严重。因此部署某种加密系统以确保窥探者不能从其截获的消息中破译什么内容&#xff0c;或者不能因为电脑被窃取而丢失信息是非常有意义的。不管是客户的数据&#xff0c;雇员数据&#xff0c;知识产权还是财务信息&#xff0c;丢…

“习惯性思维”引起的血案

好久没有更新了&#xff0c;一客户因为IT规划问题&#xff0c;需要将Citrix服务器迁到新的域&#xff0c;Citrix服 务器需要重新配置。但是当我重新配置完站点后&#xff0c;发现无论如何都登录不了。 错误截图&#xff1a; 我按照传统的思路来解决问题&#xff0c; 1、查看服务…

折腾中兴V880

一、验屏&#xff1a;输入*983*0#&#xff0c;选择LCD&#xff0c;按返回键换色&#xff0c;即可检验。二、Root。1、先设置手机为USB调试模式&#xff0c;设置方法&#xff1a;menu——设置——应用程序——开发&#xff0c;打开“USB”调试和“保持唤醒状态”下载豌豆荚&…

剑指 Offer 32 . 从上到下打印二叉树

main函数测试代码&#xff1a; 按标准输入输出&#xff0c;比如输入&#xff1a; 3,9,20,null,null,15,7 public static void main(String[] args) {//输入3,9,20,null,null,15,7Scanner sc new Scanner(System.in);String s sc.nextLine();String[] split s.split(",…

HTTP 头部解释

HTTP&#xff08;HyperTextTransferProtocol&#xff09;是超文本传输协议的缩写&#xff0c;它用于传送WWW方式的数据&#xff0c;关于HTTP协议的详细内容请参考RFC2616。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求&#xff0c;请求头包含请求的方法、URI、协议…

剑指 Offer 52. 两个链表的第一个公共节点

剑指 Offer 52. 两个链表的第一个公共节点 输入两个链表&#xff0c;找出它们的第一个公共节点。 思想&#xff1a;双指针法&#xff0c;浪漫相遇 public static ListNode getIntersectionNode(ListNode headA, ListNode headB) {ListNode pointA headA;ListNode pointB he…

Android 创世纪 第二天

第二天&#xff0c;google说&#xff0c;荒芜要被开垦&#xff0c;系统便运作了&#xff0c;它是linux。 --xxx 荒蛮大地就要变得肥沃&#xff0c;linux已经运行起来了。。。。 linux就不多讲了&#xff0c;这里只讲讲被google大刀阔斧改了内核后的linux。 第一天最后&#xff…