安装JDK1.8出现 Error opening registry key'software\Javasoft\Java Runtime Environment'

  java安装1.8后的问题:之前安装了jdk1.7和jdk1.6,之后又安装jdk1.8,然后执行java -version,打印错误信息:如下 Error: Registry key ‘Software\JavaSoft\Java Runtime Environment’\CurrentVers。

解决方法:
  1.将C盘中Windows\System32和Windows\SysWOW64文件夹下的java.exe, javaw.exe and javaws.exe文件删掉即可;

  2.打开环境变量PATH,删除PATH值中的 C:\ProgramData\Oracle\Java\javapath;

  原因:在安装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环境。

  3.打开注册表编辑器,找到 “计算机\HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment” 目录,修改CurrentVersion的值为1.7;

  4.再打开cmd 输入 java -version,正常显示jdk版本信息。

jdk版本切换

  • jdk7切换为jdk8
  1. 打开注册表编辑器,找到 “计算机\HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment” 目录,修改CurrentVersion的值为1.8;
  2. 修改环境变量中JAVA_HOME的值,将其改成 jdk8 的安装路径(如 F:\Develop\4-java\o-jdk8\jdk1.8.0_151);
  3. 打开 jdk8 安装路径下的bin目录,复制 java.exe、javaw.exe、javaws.exe 到 C:\Windows\System32目录下(有则替换掉);
  4. 打开cmd 输入 java -version,显示 jdk8 的版本信息,切换完成。
  • jdk8切换为jdk7
  1. 打开注册表编辑器,找到 “计算机\HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment” 目录,修改CurrentVersion的值为1.7;
  2. 修改环境变量中JAVA_HOME的值,将其改成 jdk7 的安装路径(如 F:\Develop\4-java\o-jdk8\jdk1.7.0_67);
  3. 打开 jdk7 安装路径下的bin目录,复制 java.exe、javaw.exe、javaws.exe 到 C:\Windows\System32目录下(有则替换掉);
  4. 打开cmd 输入 java -version,显示 jdk7 的版本信息,切换完成。

同时安装不同版本JDK遇到的问题的更多相关文章

  1. tomcat升级,tomcat窗体改名,一台电脑安装多版本JDK

    1 tomcat改名:在bin目录下找到次文件(如图),按图上指示修改(比如我窗体是主数据) 修改后: 2 一台电脑安装多个版本的JDK 为什么我们要安装多个版本JDK?--我是因为tomcat修复漏 ...

  2. MAC下安装多版本JDK和切换几种方式

    环境: MAC AIR,OS X 10.10,64位   历史: 过去 Mac 上的 Java 都是由 Apple 自己提供,只支持到 Java 6,并且OS X 10.7 开始系统并不自带(而是可选 ...

  3. 同时安装不同版本jdk引起的冲突解决方法

    https://blog.csdn.net/xiongyouqiang/article/details/79240521 现象 由于工作原因, 之前用的jdk1.8版本,因为线上生产环境都是jdk1. ...

  4. 安装jdk及安装多版本jdk

    目录 由于要使用多个版本jdk,所以看下如何在一台电脑安装多个版本jdk 当然,如果你只需要安装一个jdk,本文也适合你,只需要在JAVA_HOME值填你jdk安装的目录即可 一.首先安装好不同的jd ...

  5. 15. mac安装多版本jdk

    一.jdk下载地址 jdk官网下载地址:http://jdk.java.net/archive/ 二.安装jdk Mac的JDK都是安装到一个指定目录的:/Library/Java/JavaVirtu ...

  6. Mac安装多版本JDK

    0. 配置JDK环境 安装完成之后,配置.bash_profile文件 使用source ./bash_profile激活 2. 如何切换默认的jdk? 使用java -version就可以看默认版本 ...

  7. 解决本机安装多版本jdk导致The type java.lang.Object cannot be resolved It is indirectly referenced ...

    本机开始安装了jdk1.6,然后安装了jdk1.8 当在调自动化的时候,发现传入函数传参String类型,报错The type java.lang.Object cannot be resolved ...

  8. linux下安装不同版本的jdk

    问题: 因为需要使用jmeter的插件,发现jmeter最新版apache-jmeter-3.0可用,但是其需要jdk1.7以上版本,而公司服务器上jdk均为1.6版本,于是在测试账号下安装多个版本j ...

  9. window下在同一台机器上安装多个版本jdk,修改环境变量不生效问题处理办法

    window下在同一台机器上安装多个版本jdk,修改环境变量不生效问题处理办法 本机已经安装了jdk1.7,而比较早期的项目需要依赖jdk1.6,于是同时在本机安装了jdk1.6和jdk1.7. 安装 ...

随机推荐

  1. Python 学习笔记一

    前言 这篇博客是在学习某个网站时记录下来的,所以其纪录的顺序和那个网站里面一样,有些知识点已经大概了解了就不再赘述. 基础 字符串和编码 在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或 ...

  2. bzoj 1798: [Ahoi2009]Seq 维护序列seq 线段树 区间乘法区间加法 区间求和

    1798: [Ahoi2009]Seq 维护序列seq Time Limit: 1 Sec  Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeO ...

  3. ROS知识(18)----Pluginlib原理

    目录 Overview Example Providing a Plugin Registering/Exporting a Plugin The Plugin Description File Re ...

  4. 二值化方法:Kittler:Minimum Error Thresholding

    Kittler二值化方法,是一种经典的基于直方图的二值化方法.由J. Kittler在1986年发表的论文“Minimum Error Thresholding”提出.论文是对贝叶斯最小错误阈值的准则 ...

  5. 如何编写LVS对Real Server的健康状态检测脚本

    简介:Linux 虚拟服务器(Linux Virtual Server. LVS),是一个由章文松开发的自由软件.利用KVS可以实现高可用的.可伸缩缩的Web, Mail, Cache和Medial等 ...

  6. HDU 1890 Robotic Sort (splay tree)

    Robotic Sort Time Limit: 6000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Tota ...

  7. debuginfo-install glibc-2.17-157.el7.x86_64

    Running transaction Installing : glibc-debuginfo-common-.el7.x86_64 / Installing : glibc-debuginfo-. ...

  8. systemtap 2.8 news

    * What's new in version 2.8, 2015-06-17 - SystemTap has improved support for probing golang programs ...

  9. java多线程实现主线程等待子线程执行完问题

    本文介绍两种主线程等待子线程的实现方式,以5个子线程来说明: 1.使用Thread的join()方法,join()方法会阻塞主线程继续向下执行. 2.使用Java.util.concurrent中的C ...

  10. C#编程(一)

    第一个简单的C#程序 using System; using System.Collections.Generic; using System.Linq; using System.Text; usi ...