jdk7与jdk8环境共存与切换
1,先安装jdk7,配置环境变量JAVA_HOME,然后安装jdk8。
2,安装jdk8后,JAVA_HOME指向未做修改,执行java -version显示还是以前的jdk7版本信息,
3,接下来我们配置环境变量JAVA_HOME,发现配置jdk7的路径,或者配置jdk8的路径 ,或是乱写一个路径 还是一样显示jdk8, java -version.
4,最后发现其实在安装jdk8的时候,安装过程中会在系统变量Path的最前面加上了C:\ProgramData\Oracle\Java\javapath;,这是安装jdk8的时候带出来的,并且在Path的最前面,所以无论修改注册表还是Java控制台都没有用,执行的指令在系统变量中搜寻命令时最先找到的就是C:\ProgramData\Oracle\Java\javapath;,始终是jdk8的。那么,我们需要把Path最前面的C:\ProgramData\Oracle\Java\javapath;删除,这样才能对JAVA_HOME修改来切换需要的jdk环境。
删除之后在执行 java -version 会出现如下错误
C:\Users\wcd>java -version Error: Registry key 'Software\JavaSoft\Java Runtime Environment'\CurrentVersion' has value '1.8', but '1.7' is required. Error: could not find java.dll Error: Could not find Java SE Runtime Environment.
然后可能还会不行,因为C:\Windows\System32下面还有三个文件java.exe、javaw.exe和javaws.exe,也需要删了。
分析:
应该是jdk8安装的时候会覆盖原来jdk7的注册表,并且为了方便大家使用,直接添加了环境变量,也就不需要在配置JAVA_HOME的环境变量了,只是好多人不知道,所以在此记载一下。
把红框框中的删除再执行 java -version,就可以了。
现在我们在切换为jdk8
5,这样就可以多jdk环境进行切换了。
jdk1.8换为jdk1.7的配置
因为之前安装的eclipse版本要求JDK1.8或以上的版本,但在搭建SSH框架的时候老是报错,又找不到2错误源。老师建议换个低版本的jdk。所以jdk版本需要降级。 但降级以后就不能打开eclipse了。但网上很多说的都是把1.8删掉,之后再装回来,这样太麻烦了,总不能用一个软件就更换安装一次吧。所以找了一个可以方便切换jdk两个版本的方法。
过程如下:
1. 配置好环境变量(我的是64bit系统)
JAVA_HOME = C:\Program Files\Java\jdk1.7.0_25
CLASSPATH = .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
Path = ;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
2. 找到环境变量"Path", 把"C:/ProgramData/Oracle/Java/javapath"去掉.
PS:这是1.8新增加的,在此目录下,会有3个exe的快捷方式java.exe、javaw.exe、javaws.exe
3. 在"C:\Windows\System32"下找到java.exe、javaw.exe和javaws.exe删掉
4. 关掉cmd重开,就能看到是新的版本(一定要关闭然后重启,不然的话新的环境变量不会在当前cmd生效)JDK 1.7 -> 1.8。只需要更改JAVA_HOME的路径即可来回切换.