错误:注册表项“软件\JavaSoft\Java 运行时环境”\CurrentVersion“?

当我运行: C:\Users\ashahria\Downloads>java -jar schemaSpy_5.0.0.jar

我收到以下错误。怎么了?我该如何修复它?

错误:注册表项“软件\JavaSoft\Java 运行时环境”\CurrentVersion”

具有值“1.5”,但需要“1.7”。
错误:找不到 java.dll
错误:找不到 Java SE 运行时环境。


答案 1

在我的Windows 7计算机上,通过执行以下操作解决了这个问题:

  1. “开始”菜单中键入“注册表编辑器”以打开注册表(执行此操作时要小心)
  2. 转到左侧注册表资源管理器/树菜单上的“HKEY_LOCAL_MACHINE
  3. 单击“HKEY_LOCAL_MACHINE”注册表中的“软件
  4. 单击“软件”注册表中的“JavaSoft
  5. 单击注册表“JavaSoft”列表中的“Java 运行时环境
  6. 突出显示“当前版本”(应该在右侧的主注册表项资源管理器窗口中看到它)
  7. 将版本更改为“1.7”"

仅此而已...应该工作。除此之外,如果您已经尝试了其他一些指南和/或弄乱了注册表,那么处理该问题的最确定方法是删除所有以前版本的Java(使用“程序和功能”卸载过程),然后重新安装您想要使用的版本。我建议将分发站点放在:http://java.com(因为它通常具有最稳定的版本)

或者从 Oracle 站点查找所需的特定版本:http://www.oracle.com/technetwork/java/javase/downloads/


答案 2

我在PC上安装了从1.5到1.7的各种JDK。我需要学习JDK1.8,所以安装了我的早期版本的Eclipse(依赖于早期版本的JDK),我在启动我的Eclipse IDE时遇到了错误,在命令行上,我试图检查Java版本并得到下面的错误,

C:\>java -version
Registry key 'Software\JavaSoft\Java Runtime Environment\CurrentVersion'
has value '1.8', but '1.6' is required.
Error: could not find java.dll
Error: could not find Java SE Runtime Environment.

解决方案:- 我删除了

C:\ProgramData\Oracle\Java\javapath;
从 PATH 变量并将 %JAVA%\bin 移动到 PATH 变量的开头,这为我解决了问题。