注册表项错误:Java版本的值为"1.8",但需要"1.7"

Ana*_*pta 82 java sencha-touch java-8 sencha-touch-2 sencha-cmd

在跑步的时候

sencha app build production
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

错误:注册表项'Software\JavaSoft\Java Runtime Environment'\ CurrentVersion'

值为'1.8',但需要'1.7'.错误:找不到java.dll错误:找不到Java SE Runtime Environment.

java -version ,命令显示如下:

java版"1.8.0_40"Java(TM)SE运行时环境(版本1.8.0_40-b26)Java HotSpot(TM)64位服务器VM(版本25.40-b25,混合模式)

无法找到路径出错的地方.任何的想法?

-----------------------编辑-------------------------- ----------------------

注意:我使用的是Windows 7(64位).

我已经尝试卸载sencha touch cmd并重新安装.但仍然是同样的错误.

我已经卸载了所有的java版本实例并重新安装了最新的版本,问题仍然存在.

Ana*_*pta 268

经过一百多次尝试,终于取得了成功.

我删除了所有java.exe,javaw.exejavaws.exe从我的

  1. Windows\System32

  2. Windows\SysWOW64 夹.[如果你有x64系统(Win 7 64位),请尝试第2步]

  • 赢得10个64位用户:删除`System32`中的3个文件将解决问题. (9认同)
  • 但我们必须关闭并重新打开cmd并输入java -version来查看更改...工作就像一个魅力谢谢! (4认同)

ari*_*iro 33

在我的情况下(Windows 7 64位),我只是做了以下事情:

  • 删除了对C:\ ProgramData\Oracle\Java\javapath的引用; 来自Path环境变量
  • C:\ Windows\System32文件夹中删除了java,javawjavaws文件

之后,我关闭了所有打开的命令行控制台,重新打开它们并运行java -version.


小智 29

  1. 开放注册
  2. [HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment]
  3. 将值CurrentVersion从"1.8" 更改为"1.7"

  • 谢谢。它解决了我的问题。我无权删除 SysWOW64 下的任何内容。只需通过 regedit 更改 CurrentVersion 即可解决我的问题。 (2认同)

小智 19

re:Windows用户

不.不要从PATH变量中删除Javapath环境引用.

注册表无法工作的原因是Oracle Javapath脚本需要在JRE和JDK目录之前的PATH序列中运行 - 它将对当前版本进行排序:

将此目录放在%PATH%变量的HEAD中:

C:\ProgramData\Oracle\Java\javapath
Run Code Online (Sandbox Code Playgroud)

[或桌面上的任何位置]

所以你的PATH看起来像这样 - 例如我的

PATH=C:\ProgramData\Oracle\Java\javapath;<other path directories>;E:\Program Files\Java\jdk1.8.0_77\bin;E:\Program Files\Java\jre1.8.0_77\bin
Run Code Online (Sandbox Code Playgroud)

然后,您将看到正确的当前版本:

C:\>java -version
java version "1.8.0_77"
Java(TM) SE Runtime Environment (build 1.8.0_77-b03)
Java HotSpot(TM) 64-Bit Server VM (build 25.77-b03, mixed mode)
Run Code Online (Sandbox Code Playgroud)


小智 11

我的经验:

我使用的是Windows 8.1,我将JAVA版本从1.8降级到1.7,我得到了同样的错误.

错误:注册表项'Software\JavaSoft\Ja的值为'1.7',但需要'1.8'.

我从C:\ Windows\System32文件夹中删除了java.exe,javaw.exejavaws.ex e ,它对我有用.


pra*_*kch 7

我遇到了同样的问题.对我有用的简单解决方案是重新排列PATHfor中的条目JRE/JDK.这个问题在安装完成后出现,JRE 8其安装已将一些可执行文件放在System32 or SysWOW64目录中,这些可执行文件正在搞乱.要解决此问题:

  1. 创建指向JDK home的环境变量JAVA_HOME.

    set JAVA_HOME=C:\Progra~1\Java\jdk1.8.0_45

  2. 将条目%JAVA_HOME%\bin放在PATH环境变量的start中.追加现有价值PATH.例如:

    path=C:\Program Files\Java\jdk1.8.0_45\bin;%path%

  • 如果你想并排保存多个版本的java,并且你没有权限修改注册表并从windows\system文件夹中删除文件,这是最好的解决方案. (2认同)

tur*_*424 5

我没有删除任何 java.exe 文件,但更改了系统“路径”变量的顺序,以便将 %JAVA_HOME%\bin 反映为第一个条目。这就成功了。