windows下JDK 1.7 与1.8共存

  • 首页
  • 新随笔
  • 联系
  • 订阅
  • 管理
随笔 - 32   文章 - 12   评论 - 0

jdk7与jdk8环境共存与切换

1,先安装jdk7,配置环境变量JAVA_HOME,然后安装jdk8。

2,安装jdk8后,JAVA_HOME指向未做修改,执行java -version显示还是以前的jdk7版本信息,

windows下JDK 1.7 与1.8共存_第1张图片

 

3,接下来我们配置环境变量JAVA_HOME,发现配置jdk7的路径,或者配置jdk8的路径 ,或是乱写一个路径 还是一样显示jdk8, java -version.

windows下JDK 1.7 与1.8共存_第2张图片

 

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环境。

windows下JDK 1.7 与1.8共存_第3张图片

 

删除之后在执行 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.

 

windows下JDK 1.7 与1.8共存_第4张图片

 

   然后可能还会不行,因为C:\Windows\System32下面还有三个文件java.exe、javaw.exe和javaws.exe,也需要删了。

        分析:

        应该是jdk8安装的时候会覆盖原来jdk7的注册表,并且为了方便大家使用,直接添加了环境变量,也就不需要在配置JAVA_HOME的环境变量了,只是好多人不知道,所以在此记载一下。

 

 

windows下JDK 1.7 与1.8共存_第5张图片

 把红框框中的删除再执行 java -version,就可以了。

windows下JDK 1.7 与1.8共存_第6张图片

 

现在我们在切换为jdk8

windows下JDK 1.7 与1.8共存_第7张图片

windows下JDK 1.7 与1.8共存_第8张图片

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的路径即可来回切换.


 


你可能感兴趣的:(windows下JDK 1.7 与1.8共存)