解决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 ...
随机推荐
- BZOJ2213[Poi2011]Difference——DP
题目描述 A word consisting of lower-case letters of the English alphabet ('a'-'z') is given. We would li ...
- day14 装饰器
装饰器 本质上就是函数,功能是为其他函数添加附加功能 原则:不修改被修饰函数的源代码,以及调用方式,即完全不能有任何改变 装饰器 = 高阶函数+ 函数嵌套+ 闭包 高阶函数:函数作为参数或者返回一个函 ...
- Java XML JSON 数据解析
下面我们通过一段代码了解一下解析JSON格式数据的基本过程: 提示:使用JSON需要导入 JSON 相关的多个Jar文件 import net.sf.json.JSONObject; public c ...
- 批量导入导出站点权限site permissions
批量导入站点权限 cls $Web = Get-SPWeb "http://16.178.115.14:91/" Get-Content c:\export\account.t ...
- 洛谷 P1076 寻宝 解题报告
P1076 寻宝 题目描述 传说很遥远的藏宝楼顶层藏着诱人的宝藏.小明历尽千辛万苦终于找到传说中的这个藏宝楼,藏宝楼的门口竖着一个木板,上面写有几个大字:寻宝说明书.说明书的内容如下: 藏宝楼共有\( ...
- bzoj4985 评分 (二分答案+dp)
首先二分一个答案x,然后我们把>=x的数看成1,<x的数看成0,那如果最后剩下1,这个答案就是合法的. 那我们就来算让某一位得1至少需要填几个1(设这个值是f[i]) i=1..n时,显然 ...
- 使用nagios监控ssl证书过期时间
1.编写监控脚本. # vim check_ssl_expiry.sh #!/bin/bash STATE_OK=0 STATE_WARNING=1 STATE_CRITICAL=2 Host=$1 ...
- detectMultiScale 读取冲突的一个解决方法
背景:用的是opencv的HOGDescriptor检测行人,实例化为hog:使用默认的行人检测器: hog.setSVMDetector(cv::HOGDescriptor::getDefaultP ...
- (转)Java程序员的面试经历和题库
背景:最近我在找工作,前期就像打了鸡血的一样,隔一段时间没有面试,就又松懈了下来,看到别人写的面经,感觉就像打脸一般,以后要多多总结前人的经验,时刻保持压力状态才是. 作者:nuaazhaofeng2 ...
- javascript - ie - css - 动态更新鼠标指针形状
最近写了一个图片展示的页面,在弹出层中显示大图,在大图的左边和右边点击时可以翻页. 将鼠标在大图上移动时,移动到左边显示一个向左的箭头,移动到右边时显示一个向右的箭头. 当第一次显示大图时,如果鼠标位 ...