Windows 环境 JDK 多版本共存

原创
2018/04/11 14:40
阅读数 6.9K

公司项目中应用到的jdk环境为1.7,自己平常的一些开发学习需要用到jdk1.8,为了解决这个问题所以需要jdk多版本共存,并且随时可以很方便的切换。此处以两个版本举例,更多版本共存问题与此类似。

1.安装jdk1.7 和 jdk 1.8

后安装的版本会默认覆盖值钱的版本,如果先安装jdk1.7后安装jdk1.8,安装好后命令行

java -version

将提示版本信息为1.8

2.设置多环境

JAVA8_HOME =jdk1.8的安装路径
JAVA7_HOME =jdk1.7的安装路径
JAVA_HOME = %JAVA7_HOME% (注意:如果你想切换jdk,就在此处设置即可)

如下图:

在path中添加

;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

3.问题解决:

1.环境变量配置后,但是安装以后出现以下问题:
通过java -version 查看显示,jdk显示为:jdk1.8
分析: 
当前jdk版本为1.8,这不科学,因为环境变量中配置的JAVA_HOME是1.7的路径,查看版本应该要是1.7的才对,现在变成1.8,jdk的环境变量未被改变,通过查询后发现问题:

在安装JDK1.8时(本机先安装jdk1.7再安装的jdk1.8),自动将java.exe、javaw.exe、javaws.exe三个可执行文件复制到了C:\Windows\System32目录,由于这个目录在WINDOWS环境变量中的优先级高于JAVA_HOME设置的环境变量优先级。

2.再次通过java -version 查看显示,jdk显示为:jdk1.8

分析:

先将JAVA_HOME设为空值,再次java -version,仍然显示:jdk1.8

说明path中 ;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; 这两行环境变量并没有生效,也就是说系统并没有从我们刚才指定的位置去执行java.exe

回去继续查看path中所有的变量,win10的话界面比较友好,容易查看,win7可以把path值复制到一个文本文件里手动分条整理。

结果发现首行有一条C:\ProgramData\Oracle\Java\javapath;应该与这个问题有关, 然后在资源管理器中打开这个路径(找不到ProgramData,请设置显示隐藏的文件夹)

发现有类似快捷方式一下的java.exe、javaw.exe、javaws.exe三个可执行文件,至此找到的问题所在。

回到环境变量管理 path下删除 C:\ProgramData\Oracle\Java\javapath;这条记录

把JAVA_HOME设为需要使用的java_home版本 例如:JAVA_HOME = %JAVA7_HOME%

再次命令行执行java -version,显示jdk版本为1.7

自此修改成功,以后切换只需修改JAVA_HOME值为需要使用的java_home版本即可。

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部