前言
昨天刚入职实习,发现领导发给我的项目使用的JDK是1.7的,大概是因为如果使用的是JDK1.8的话,就要收费了吧。(能不入职外包就千万别去,我入职的是电信旗下的公司,结果给电信做外包了。。。)
正式步入正题
那么到底如果同时安装2个JDK呢?
安装的时候不同的jdk存储在不同的文件夹,jdk8就是存放jdk1.8的;jdk7就是存放jdk1.7的。
jdk文件夹下的目录如下:
如果电脑本身就有了jre,安装jdk时就不会提示要安装jre,因此忽略。
我电脑原本就是jdk1.8的,现在要安装jdk1.7的。
安装目录(我自己的)
D:\jdk8
D:\jdk7
jdk8是之前就安装了的(1.8),jdk7是现在安装的1.7。
删除C:\Windows\System32下三个文件
在第一次安装jdk1.8时,自动将java.exe、javaw.exe、javaws.exe三个可执行文件复制到了C:\Windows\System32目录,由于这个目录在WINDOWS环境变量中的优先级高于JAVA_HOME设置的环境变量优先级。所以将C:\Windows\System32目录下的java.exe、javaw.exe、javaws.exe三个可执行文件删除即可。
删除系统环境变量C:\Program Files (x86)\Common Files\Oracle\Java\javapath
配置环境变量
JAVA_HOME=%JAVA_HOME8%
JAVA_HOME8=D:\jdk8
JAVA_HOME7=D:\jdk7
path=.;%JAVA_HOME%\jdk\bin;%JAVA_HOME%\jre\bin;
当你要使用jdk1.7的时候,就将JAVA_HOME的值修改成%JAVA_HOME7% 要使用jdk1.8就修改成%JAVA_HOME8%
如果遇到:修改%JAVA_HOME% 系统JAVA的版本没有变的话,就再CMD命令窗口中输入java where
C:\Users\zh>where java
C:\ProgramData\Oracle\Java\javapath;
C:\Windows\System32\java.exe
D:\jdk11\bin\java.exe
查看path发现,原来在系统安装oracle数据库后,oracle使用的jdk被写入path,这样前面配置了JAVA_HOME,但是在java查找jdk时是按照从前到后依次查找,这样始终无法查找到JAVA_HOME配置的JDK,修改path配置,将JAVA_HOME路径设置在最前面(可以检索到的java前面即可)%JAVA_HOME%\bin; 这样配置后问题解决.