解决jdk1.7,1.8共存问题小思
一 起因
随着jdk1.9呼之欲出之势,准备花点时间把jdk1.8搞掉,于是准备下一个项目的依赖改为jdk1.8,先去下载安装,安装好之后电脑上就存在两个版本的jdk。然后将两个版本的jdk路径都配置在环境变量中,我也很期待会出现啥情况,然后cmd-->java-version出现下面:

比较开心,正是我期待的结果,然后啥都没管就傻傻的去开发了,然后过几天需要切换回jdk1.7,挖了一些坑。
二 初次进行切换
首先右键查看我的电脑-->属性-->高级系统设置-->环境变量-->path,查看配置的环境,发现1.7和1.8都有配置在环境中,那为什么会运行jdk1.8呢?从源头出发,之所以能够在命令行开启或者是查看jdk1.8,主要是因为在c盘-->windows--.system中或者其子目录下包含相关程序,于是找到java,Java,javaw三个文件并将其删除,删除后再次在cmd窗口测试java:

oh no,大概意思是我想要启动jdk1.7但是环境还是1.8???我有点懵比,你是怎么知道我要启动1.7,后来仔细一想,任何标记程序启动最终还是在注册表里去找对应的坐标和环境坐标,于是准备去注册表试试。
三 解决冲突
好的,下面进入注册表(regedit)进入后ctrl+f进行搜索Java Development Kit,找到jdk的坐标位置并进行配置。

。。。。稍等

然后搜索到这个,可以看到,第一个是jdk,第二个是java运行环境,现在回忆一下刚刚的报错信息,have value1.8,but 1.7 is required,也就是说注册表中的jdk环境是1.8,但是注册表中的jdk是1.7,这样的话只需要保证两个一致就行了,可以参考我的设置


具体版本信息根据你自己下载的jdk版本决定(只要一致就行)java运行环境中的Browser JavaVersion(java能够适配到的浏览器版本)可以忽略。
好了这样一来就解决了jdk1.7和jdk1.8共存的冲突问题,下图已解决。

·后来一想,这样设置之后。会不会无法切换jdk1.8,每次都要去注册表切换??
然后我试着把环境变量设置成jdk1.8,结果:

这是我先要的效果--->只需要改变环境变量中JAVA_HOME的位置即可,但为啥是这样呢,注册表明明是1.7
然后我去注册表再去看了一下,好吧,jdk1.8会自动生成在里面,并且也有MSI文件,这样的话就彻底解决jdk冲突了。
四 更多的坑
配置好玩环境后,我自觉地打开eclipse。。。无法启动(图片忘记截取了)意思就是说,myeclipse需要的环境是1.7,当前系统环境是1.8,无法启动。
想一想myeclipse还能在哪儿配置环境,打开安装目录找到myeclipse.ini,发现里面配置的是1.7,将其改成当前系统的环境即可。

如图,-vm的值指定到当前系统jdk的位置即可,在此启动myeclipse完成
五 反思
诸如此类安装环境,配置环境的问题在实际开发中其实遇到的不是很多,或者说只会遇到个别几次,并不会向我们写代码那么频繁。由于次数很少,我们可能并不会遇到这个过程会遇到的所有问题,这样的话,遇到新的问题极有可能浪我们大量的时间,所以在我们使用工具或者说第一次搭建环境的时候,一定要尽量对该工具有足够的了解,再小的问题也要认真的去对待,对工具软件有自己的理解,适当的走一些笔记,这样的话及时遇到第一次见的问题也只是想想几秒钟的事儿了。
解决jdk1.7,1.8共存问题小思的更多相关文章
- (转)解决jdk1.8中发送邮件失败(handshake_failure)问题
解决jdk1.8中发送邮件失败(handshake_failure)问题 作者 zhisheng_tian 2016.08.12 22:44* 字数 1573 阅读 2818评论 6喜欢 9 暑假在家 ...
- linux下开发,解决cocos2d-x中编译出现的一个小问题, undefined reference to symbol 'pthread_create@@GLIBC_2.2.5'
解决cocos2d-x中编译出现的一个小问题 对于cocos2d-x 2.×中编译中,若头文件里引入了#include "cocos-ext.h",在进行C++编译的时候会遇到例如 ...
- 解决 JDK1.7 不支持 VCenter 6.7 的问题(涉及到Https TLS1.2协议)
解决 JDK1.7 不支持 VCenter 6.7 的问题 问题描述 原项目工程是使用JDK 1.7,可以连接 5.X版本和 6.0版本的 VCenter资源池. 但是,现在VCenter已经升到 6 ...
- 解决64位Windows2003程序字体很小的问题
先看问题现象: 如图,字小的一B,并且无法通过更改主题字体大小.对话框字体等操作得到解决. 注:该问题可能不限于64位Windows2003,看完解决方法你就明白了,是有个注册表键值缺失或设置不当造成 ...
- 解决Android ListView 和 ScrollView 共存时冲突 问题 方法其一
转载请注明出处: http://www.goteny.com/articles/2013/11/8.html http://www.cnblogs.com/zjjne/p/3428480.html 当 ...
- Micro:Bit手柄试用之一MagicPad (解决蓝牙与gamePad包共存)
前言 原创文章,转载引用务必注明链接.由于本人初次接触Micro:Bit,水平有限,如有疏漏,欢迎指正. Micro:Bit真好玩! DFRobot的论坛相关资料算是国内比较丰富的了,个人感觉MB比A ...
- 解决Windows内存问题的两个小工具RamMap和VMMap(这个更牛更好)
来源:http://www.cr173.com/html/13006_1.html .net程序内存监测分配工具(CLR Profiler for .NET Framework 4)官方安装版 类型: ...
- 解决Windows内存问题的两个小工具RamMap和VMMap
解决Windows内存问题需要对操作系统的深入理解,同时对于如何运用Windows调试器或性能监控器要有工作认知.如果你正试着得到细节,诸如内核堆栈大小或硬盘内存消耗,你会需要调试器命令和内核数据架构 ...
- 解决MyEclipse代码编辑器中汉字太小的问题
1.问题描述: 新安装的myeclipse 2014,代码编辑器中汉字很小看不清,如下图所示: 2.解决办法: 调整字体即可.通过菜单Windows——Preferences,输入font过滤选择Co ...
随机推荐
- Spring的编程式事务和声明式事务
事务管理对于企业应用来说是至关重要的,当出现异常情况时,它也可以保证数据的一致性. Spring事务管理的两种方式 spring支持编程式事务管理和声明式事务管理两种方式. 编程式事务使用Transa ...
- MT【44】抛物线不常见性质3
注:S为抛物线的焦点
- 【BZOJ2003】[HNOI2010]矩阵(搜索)
[BZOJ2003][HNOI2010]矩阵(搜索) 题面 懒得粘了,不难找吧. 题解 看的学长写的题解,也懒得写了 大概是这样的. 不难发现只需要确定第一行和第一列就能确定答案,而确定第一行之后每确 ...
- 分享一个自己做的SpringMVC的PPT
分享一个自己做的SpringMVC的PPT,由于比较忙只写了一些重要的部分
- 51nod1238 最小公倍数之和 V3
又被这神仙题给坑爆了. 神仙题解. 一开始我把lcm变成ij/gcd然后按照常规套路去推,推到最后发现不是miu * Id而是miu · Id......这还搞鬼啊. 正解居然跟这个差不多,先转成求其 ...
- spring-mvc springboot 使用MockMvc对controller进行测试
网上基本都是参考官方的使用方式,使用了import static,个人感觉这种方式特别不好,代码提示性不友好.所以在此进行说明,也方便自己以后使用. 1. 引入spring-test相关jar包,sp ...
- (转)Visual Studio控制台程序输出窗口一闪而过的解决方法
背景:熟悉visiual studio工具的使用 刚接触 Visual Studio的时候大多数人会写个Hello World的程序试一下,有的人会发现执行结束后输出窗口会一闪而过,并没有出现Pres ...
- C++11并发——多线程std::thread (一)
https://www.cnblogs.com/haippy/p/3284540.html 与 C++11 多线程相关的头文件 C++11 新标准中引入了四个头文件来支持多线程编程,他们分别是< ...
- 斯坦福大学公开课机器学习:Neural Networks,representation: non-linear hypotheses(为什么需要做非线性分类器)
如上图所示,如果用逻辑回归来解决这个问题,首先需要构造一个包含很多非线性项的逻辑回归函数g(x).这里g仍是s型函数(即 ).我们能让函数包含很多像这的多项式,当多项式足够多时,那么你也许能够得到可以 ...
- JavaSE学习总结(十九)—— Java Web 综合应用(JSP、Servlet、IDEA、MySQL、JUnit、AJAX、JSON)
一.使用Servlet+JDBC+MySQL+IDEA实现商品管理 1.1.创建项目 打开IntelliJ IDEA开发工具.点击Create New Project创建一个新的Web项目 选择Jav ...