JDK7和JDK8的切换

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/SweetyoYY/article/details/81159571

* 背景

       发布项目的时候会遇到一个问题,尤其是我们接触到不同项目的时候,因为jdk版本的缘故,导致发布不成功。小编之前使用的便是JDK8,近期发布的一个项目时JDK7,因为之前已经装过JDK8了,导致自己切换的时候一直没有成功,当时也由于时间比较紧急,于是很粗鲁的将jdk8给卸载了。

       其实不同版本的JDK之间肯定是可以兼容,日后自己也尝试了他们之间的切换方式,当然不只是修改环境变量那样的简单哦~


* to JDK7

       我们先查看一下jdk的版本:

C:\Users\Viola>java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)

       切换成JDK7:
   1.安装
   2.修改环境变量
   修改JAVA_HOME的路径为JDK7的安装目录(如果是第一次安装JDK时,需要配置path,添加:%JAVA_HOME%/lib/toos.jsr;%JAVA_HOME%/lib/dt.jar)
   这时,如果我们在dos中查看java版本时,你会发现依然是jdk8,我们应该是遗漏了是吗,我们会发现,在安装jdk8时,会在环境变量中的系统变量中的path中增加一个路径C:\ProgramData\Oracle\Java\javapath,进去看我们会发现有3个java相关的exe,默认读取jdk8的内容,我们将该path删除。
   3.删除系统变量path中的JDK8默认文件
   将path中的C:\ProgramData\Oracle\Java\javapath删除,到这里你会发现版本依然是jdk8,这是因为C:\ProgramData\Oracle\Java\javapath中的java文件指向的是C:\Windows\System32中对应的3个文件,虽然我们删除了,但是依然先访问系统文件。
   4. jdk7java文件替换system32
   用jdk7中的3个java文件替换system32中的3个文件,如下

这里写图片描述

       我们继续查看jdk的版本:

C:\Users\Viola>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.

    5. 修改注册表
   上面的提示信息也很明显,进入HKEY_LOCAL_MACHINE,修改Software\JavaSoft\Java Runtime Environment’\CurrentVersion’为1.7

这里写图片描述

   现在我们查看jdk的版本,便已经改过来

这里写图片描述


* to JDK8

       刚刚我们成功的从JDK8切换到了7,接下来我们接着讨论如何切换回到8。

       切换成JDK8:
   1. 修改环境变量Java_Home
   2. path中添加默认路径
   将C:\ProgramData\Oracle\Java\javapath添加在系统变量path中。
   3. 修改注册表
   修改Software\JavaSoft\Java Runtime Environment'\CurrentVersion'为1.8

       再一次查看jdk版本,已经切换过来了~

这里写图片描述

       备注:如果执行完上面的3步都没有成功的话, 考虑用jdk8下的3个java文件替换一下system32中的文件。


* system32

       C盘Windows文件夹中的 是共享文件的安装一目录,而system32文件是系统核心文件就安装在system的文件夹内。

       system : 这是系统文件夹,存放了系统中的重要文件(如DLL文件等),一些软件在安装时也会向该文件夹复制文件,因此,随着安装的软件的增加,此文件夹中的内容也会越来越多。该文件夹内的文件一般不要轻易删除,否则会导致系统错误。

       对于上面的提到替换system32中的文件,我想用上面的内容说明一下。


* end

       之后我们对于不同版本的jdk便可以随意的切换了,也不用很暴力的将他们删除只保留一个jdk版本。

       感谢您宝贵的阅读时间

猜你喜欢

转载自blog.csdn.net/SweetyoYY/article/details/81159571
今日推荐