情况

情况是原本安装有jdk1.7,能正常运行,现在要升级到1.8.

直接在oracle的网站下载1.8安装后修改配置为1.8后:

能用javac编译成功,但java命令运行时报错:

Failed reading value of registry key:
        Software\JavaSoft\Java Runtime Enviroment\1.7\javaHome
Error:could not find java.dll

Error:could not find Java 2 Runtime Environment.

配置参数详细参考:

java实战(一)-----------jdk环境配置

原因

这种情况多数是因为系统中有多个jdk导致的。

注册表中是旧版本的注册信息,所以我们只修改配置是无效的。

解决方案

需要修改注册表。或者先把原jdk完全卸载后再安装新的,按步骤配置即可。

推荐卸载重装jdk,因为注册表需要修改的细节太多

卸载时在控制面板中找到卸载或更改程序。

建议全部卸载后再新装 需要的jdk版本。

卸载重装配置好后可能会遇到问题Error opening registry key'software\Javasoft\Java Runtime Environment'。

解决方法往下看。

修改注册表。

运行regedit打开注册表

找到

[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit]

[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Plug-in]

[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment]

分别把其中的版本修改成我们新安装的版本即可。

遇到问题Error: opening registry key

卸载后重装了1.8并且配置后之后又出现了新的问题。

Error: opening registry key 'Software\JavaSoft\Java Runtime Environment'
Error: could not find java.dll
Error: Could not find Java SE Runtime Environment.

每个人的系统情况有所不同,以下列出了所有可能的解法,希望有一种适合你。

解法一path中的JAVA_HOME放到最前面

Path系统环境变量中,把%JAVA_HOME%\bin调整到最前面,使用path命令查看是否生效(不生效的需要注销或者重启)。

解法二注册表键名不对应

因为注册表中一个键项被本地化成中文名字了.
 [HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\java运行时环境]
 改成:
 [HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java   Runtime   Environment]
 windows开始菜单-> 运行-> 输入 "regedit ",然后回车-> ,按f3打开查找框-> 输入“java运行时环境”,找到之后,点右键-重命名为: "Java   Runtime   Environment ",然后再按f3,一直把找到的全部都改掉为止。

解法三注册表文件夹重复

注册表:HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\  路径下有两个文件夹,删掉一个就好了,这一点出现的比较少(未测试)。

解法四java.exe等在System32文件夹中出现

将C盘中Windows\System32和Windows\SysWOW64文件夹下的java.exe, javaw.exe and javaws.exe文件删掉即可。
PS:我的是这种方法解决的,这是win8的解决方案,如果是win7 64的,删掉Windows\System32下的java.exe, javaw.exe 就行了

运行成功

遇到问题---java---安装新版本jdk后Failed reading value of registry key的更多相关文章

  1. 安装多JDK后,java编译环境和运行环境版本(JDK版本) 不一致解决:

    由于之前安装过JDK1.7 ,现在一个项目是JDK1.5的,那么需要更改了环境变量了,此处不再赘述如何设置JDK 的环境变量了.然后网上找来方法: 在安装多个jdk后,出现了java -version ...

  2. [转载]Linux 卸载JDK并安装新版本JDK (rpm,tar)

    FROM:http://josh-persistence.iteye.com/blog/1908549 一.查看Jdk的安装路径: whereis javawhich java (java执行路径)e ...

  3. java安装以及jdk和jre安装(简单了解)

    轻松了解JDK是什么 什么是jdk? JDK是学好Java的第一步.不管是你要学习java编程,还是要搭建jsp web开发环境,或者是android开发环境都离不开它. jdk是什么呢?jdk的是j ...

  4. Java入门之JDK的安装和环境变量的配置

    Java的版本 1. Java SEjava se 以前称为J2SE.它允许开发和部署在桌面.服务器.嵌入式环境和实时环境中使用的 Java 应用程序.Java SE是基础包,但是也包含了支持 Jav ...

  5. Java - 安装jdk并设置环境变量

    前言 双十一买了台新的笔记本,需要重新安装下Java,这里记录下安装的过程,毕竟万事开头难,就算是老手也不一定能一次就把Java安装成功. 安装jdk 作为一名Java开发,当然是要安装jdk了,如果 ...

  6. 第一次尝试学习java 安装jdk 与配置环境变量 写第一个java程序 并运行

    第一次学习java,今天知道了java之父叫  詹姆斯.高司令 其它的记不住太多,首先我们先来安装jdk 百度搜索jdk12   (现在的jdk为12版本)安装稳定版 找到javaSE12X..  下 ...

  7. Android安装 sdk+jdk+Eclipse+Adt开发工具

    根据别人提供的手册和安装过程体验加以更新和详细描述 安装Android开发工具 开发Android应用程序的门坎并不高,因为Google已经为Android应用程序开发提供了免费而且跨平台的集成开发环 ...

  8. java安装和配置(3.18)

    大家好,我是一名笨笨的程序小白,刚刚学习完C#的基本开发,现在要开始学习java了!我希望在博客园里记录下我的学习日记,我也不敢保证自己会讲的东西多么全面,但是都是比较基础的东西,如果对你也有点点的小 ...

  9. (2)java安装配置

    java 分为三大类 javasSE,javaEE,javaME. javaSE:一般用于开发桌面软件,是java EE的基础类库 javaEE:用于开发网站 javaME:手机软件程序 javaSE ...

随机推荐

  1. html , body , margin , overflow 之大乱战

    <!DOCTYPE html> <html> <head> <style> html,body{ margin:0 ;padding:0 } div{m ...

  2. Centos7 zabbix 自动发现与注册

    自动发现与自动注册 自动发现: zabbix Server主动发现所有客户端,然后将客户端登记自己的小本上,缺点zabbix server压力山大(网段大,客户端多),时间消耗多. 自动注册: zab ...

  3. Scrum Meeting 10.26

    1.会议内容 姓名 今日任务 明日任务 预估时间(h) 徐越 学习服务器配置 配置SQLserver 4 卞忠昊 阅读代码 找上届代码的bug 3 武鑫 查阅资料 查阅资料,各种app的界面设计 3 ...

  4. Mevan(转)

    Missing artifact com.oracle:ojdbc6:jar:11.2.0.1.0问题解决 ojdbc包pom.xml出错 置顶 2017年08月23日 10:55:25 阅读数:96 ...

  5. 剑指offer :从尾到头打印链表

    题目描述: 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList. 解题思路: 链表的遍历只能从头向尾进行,要从尾到头输出,考虑用栈.先从头到尾遍历一次链表,同时将值进栈,再清空栈,同时将值 ...

  6. What is ASP.NET SignalR

    什么是ASP.NET SignalR ASP.NET SignalR是ASP.NET开发人员的新库,它使得为应用程序添加实时Web功能变得非常简单. 什么是“实时网络”功能?它能够让您的服务器端代码实 ...

  7. 404 Note Found团队-项目UML设计

    目录 团队信息 分工选择 课上分工 课下分工 ToDolist alpha版本要做的事情 燃尽图 UML 用例图 状态图 活动图 类图 部署图 实例图 对象图 时序图 包图 通信图 贡献分评定 课上贡 ...

  8. DispatcherServlet的作用

    DispatcherServlet是前端控制器设计模式的实现,提供Spring Web MVC的集中访问点,而且负责职责的分派,而且与Spring IoC容器无缝集成,从而可以获得Spring的所有好 ...

  9. Scrum 项目准备5.0

    1.团队成员完成自己认领的任务. 2.燃尽图:理解.设计并画出本次Sprint的燃尽图的理想线.参考图6. 3.每日立会更新任务板上任务完成情况.燃尽图的实际线,分析项目进度是否在正轨.    每天的 ...

  10. 1105 C程序的推导过程