配置多个JDK存在的问题与解决方案 (亲测可用)
安装多个JDK时的技巧 (亲测可用)
我的电脑本来是JDK8的,后来的想在不同的JDK版本下测试JDK的垃圾回收器。
一开始的的思路是,先安装JDK,为每个JDK配置自己的家目录,然后在想用哪个版本的时候,将JAVA_HOME
指向对应JDK的家目录即可(这里PATH跟CLASSPATH不用变,只变JAVA_HOME 即可在不同JDK间切换),直接上图 (有时候图片来的更直观):
先装的JDK9 (问题发现与解决)
但当时,装完JDK9,改了JAVA_HOME
后,cmd命令行下java -version
,显示java9,但当时切换不到JDK8,当时一脸懵逼,最后找到原因:
当装完新的JDK后,它会给你在PATH自动配置一个环境变量,如图:
当找到C:\ProgramData\Oracle\Java\javapath
所指的目录时发现如下三个文件:
当在cmd下运行这个java.exe时发现:
总结: 这才明白,当装完JDK9时,JDK自己给你配好了环境变量,而且它在PATH环境变量里面属于第一个,因为覆盖了后面自己配的环境,所以才在命令行显示的jdk9。
后装的JDK7 (问题发现与解决)
安装完JDK7之后,又出现异常,不论怎么改自己配置的环境变量,命令行下由java -version
一直显示jdk8了(玄学。。。。),根绝排查上一个错的经验,猜想肯定是PATH 下JAVA_HOME
前面的某个环境变量在做鬼,因此把JAVA_HOME
移动到最顶端时,一切又回到了我们的预期。然后通过将JAVA_HOME
放在PATH下不同的位置终于找出了做鬼的环境变量,
然后在它对应的目录下找到了
同样在cmd命令行下测试该java.exe的版本
总结
现在终于明白之前各种情况的原因了,当装完JDK9后把jdk9自己配好的环境变量删掉,然后把C:\Windows\System32
移动到JAVA_HOME
之后(或者删除该目录下java.exe),因为C:\Windows\System32
包含大量的系统文件,不能把该目录直接删除。然后每次更改JAVA_HOME
的值都能达到我们预期的效果。
配置多个JDK存在的问题与解决方案 (亲测可用)的更多相关文章
- 史上最详细Windows版本搭建安装React Native环境配置 转载,比官网的靠谱亲测可用
史上最详细Windows版本搭建安装React Native环境配置 2016/01/29 | React Native技术文章 | Sky丶清| 95条评论 | 33530 views ...
- 【转】Win7环境下VS2010配置Cocos2d-x-2.1.4最新版本的开发环境(亲测)
http://blog.csdn.net/ccf19881030/article/details/9204801 很久以前使用博客园博主子龙山人的一篇博文<Cocos2d-x win7+vs20 ...
- Win7环境下VS2010配置Cocos2d-x-2.1.4最新版本的开发环境(亲测)
写这篇博客时2D游戏引擎Cocos2d-x的最新版本为2.1.4,记得很久以前使用博客园博主子龙山人的一篇博文<Cocos2d-x win7+vs2010配置图文详解(亲测)>成功配置 ...
- Netbeans7.0完美中文+Consolas字体显示配置(亲测可用)
最近把开发环境从Eclipse迁移到了Netbeans上面.因为Netbeans已经相当优秀,速度快功能也不必Eclipse差,但是一只有 一个问题一直让我对eclipse非常纠结:如果把字体选择为C ...
- Win7(32/64)VS2010配置编译GDAL环境(图文教程+亲测可用!)
最近的一个VS2010的项目中用到了GDAL,关于GDAL这个库的说明与赞美,这里就不赘述了,下面是在VS2010中配置GDAL的详细过程. 系统说明 Win7(32位/64位),VS2010,GDA ...
- MAC下Xcode配置opencv(2017.3.29最新实践,亲测可行)
本文原创,未经同意,谢绝转载!(转载请告知本人并且经过本人同意--By Pacific-hong) 本人小硕一枚,因为专业方向图像相关,所以用到opencv,然后网上MAC下Xcode配置opencv ...
- 【亲测可用,亦可配置同一平台的不同账号,例如阿里云的两个不同账号】Windows下Git多账号配置,同一电脑多个ssh-key的管理
Windows下Git多账号配置,同一电脑多个ssh-key的管理 这一篇文章是对上一篇文章<Git-TortoiseGit完整配置流程>的拓展,所以需要对上一篇文章有所了解,当然直接 ...
- MAC下Xcode配置opencv(2017.3.29最新实践,亲测可行)(转)
本文原创,未经同意,谢绝转载!(转载请告知本人并且经过本人同意--By Pacific-hong) 本人小硕一枚,因为专业方向图像相关,所以用到opencv,然后网上MAC下Xcode配置opencv ...
- spring boot 日志文件配置(logback-spring.xml)亲测可用!
问题描述:如何配置springboot项目,通过日志配置,使之输出自定义日志. 详细文章:https://blog.csdn.net/gebitan505/article/details/701421 ...
随机推荐
- mount -o remount,rw /命令什么意思
1.关于如何改变linux中,对只有Read-only filesystem的文件,如何改为为可写.可读权限? I.可以执行 mount -o remount,rw /II.执行完毕后,会出现以下字样 ...
- POJ 3183:Stump Removal(模拟)
http://poj.org/problem?id=3183 题意:有n个树桩,分别有一个高度h[i],要用Bomb把树桩都炸掉,如果炸的位置的两边树桩高度小于Bomb炸的树桩高度,那么小于树桩高度的 ...
- Java第二次作业——数组和String类
Java第二次作业--数组和String类 学习总结 1.学习使用Eclipse关联jdk源代码,查看String类的equals()方法,截图,并学习其实现方法.举例说明equals方法和==的区别 ...
- [MySQL]快速解决"Table '.\sjzlf\zbp_post' is marked as crashed and should be repaired"故障
为了不冒失修复,故采取保守做法,我们知道 MySQL 一个高效的管理工具便是 PhpMyAdmin,而在该管理软件中就包含了对表的检查.分析.修复.优化功能,比起网上提供的含糊命令行来说更安全更简便. ...
- Linux日志系统分析:rsyslog、syslog和klog
参考博客: https://blog.csdn.net/lidonghat/article/details/55004280 https://blog.csdn.net/u012247418/arti ...
- 【栈-例题】网页跳转-C++
描述 蒜头君每天都在用一款名为 "蒜厂浏览器" 的软件.在这个浏览器中,一共三种操作:打开页面.回退和前进.它们的功能如下: 打开页面:在地址栏中输入网址,并跳转到网址对应的页面: ...
- pip install xxxx报错(一大堆红色exception)【解决】
安装个distribute或nose或lpthw.web或virtualenv 都可能出现下面问题 root@kali:~# pip install distribute Collecting d ...
- c++中利用宏定义简化for循环使用
话不多说,上方法 #define _for(i,a,b) for( int i=(a); i<(b); ++i) #define _rep(i,a,b) for( int i=(a); i< ...
- iconfontのsymbol的使用
iconfontのsymbol的使用 iconfont三种方式的优缺点 unicode 优点: 1.兼容性最好,支持ie6+ 2.支持按字体的方式去动态调整图标大小,颜色等等 缺点: 1.不支持多色图 ...
- 个人永久性免费-Excel催化剂功能第81波-指定单元格区域内容及公式填充
在日常数据处理过程中,需要对缺失数据进行填充时,按一定逻辑规则进行处理,实现快速填充,规范数据源.此篇给大家带来多种填充数据的场景. 业务使用场景 对各种系统中导出的数据,很多时候存在数据缺失的情况, ...