registry项错误:Java版本的值为“1.8”,但需要“1.7”

在跑步的时候

sencha app build production 

我收到以下错误:

错误:registry项'Software \ JavaSoft \ Java Runtime Environment'\ CurrentVersion'

具有“1.8”的值,但是“1.7”是必需的。 错误:无法findjava.dll错误:无法findJava SE运行时环境。

java -version ,命令显示如下:

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

无法findpath出错的地方。 任何想法?

———————–编辑————————– ———————-

注意 :我正在使用Windows 7(64位)。

我曾尝试卸载sencha touch cmd并重新安装。 但还是一样的错误。

我卸载了所有的Java版本实例,并重新安装最新的一个,仍然存在这个问题。

经过百余个窍门,终于取得了成功。

我删除了所有的java.exejavaw.exejavaws.exe

  1. Windows\System32

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

  1. 打开registry
  2. 转到[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment]
  3. 将值CurrentVersion从“1.8”更改为“1.7”

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

  • 删除了对C:\ ProgramData \ Oracle \ Java \ javapath的引用;Path环境variables
  • C:\ Windows \ System32文件夹中删除了javajavawjavaws文件

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

重新:Windows用户

不。不要从PATHvariables中删除Javapath环境引用。

registry无法正常工作的原因是,Oracle Java脚本需要在JRE和JDK目录之前的PATH序列中运行 – 它将整理出当前版本:

把这个目录放在%PATH%variables的HEAD里:

 C:\ProgramData\Oracle\Java\javapath 

[或任何地方在你的桌面上]

所以你的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 

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

 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) 

我的经验:

我正在使用Windows 8.1 ,我已经从1.8降级JAVA版本到1.7,我得到了同样的错误。

错误:registry项“Software \ JavaSoft \ Ja”的值为“1.7”,但需要“1.8”。

我已经从C:\ Windows \ System32文件夹中删除了java.exejavaw.exejavaws.ex e,并为我工作。

我没有删除任何java.exe文件,但改变了我的系统 – “path”variables的顺序 – 以便它反映%JAVA_HOME%\ bin作为第一个条目。 那就是诀窍。

我有同样的问题。 对我来说简单的解决scheme是重新安排JRE/JDK PATH的条目。 安装JRE 8 ,安装已经在System32 or SysWOW64目录中放置了一些可执行文件,这些问题就出现了,这些可执行文件都搞乱了。 要解决这个问题:

  1. 创build指向JDK主目录的环境variablesJAVA_HOME

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

  2. 将条目%JAVA_HOME%\bin放在PATH环境variables中。 附加PATH现有值。 例如:

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

至于我在win7 64bit。

将文件夹C:\Program Files\Java\jre1.8.0_91\bin to the C:\Windows\System32.的java.exe javaw.exe javaws.exe复制C:\Program Files\Java\jre1.8.0_91\bin to the C:\Windows\System32.

然后打开cmd,键入java -version。

 C:\Users\HEcom>java -version java version "1.8.0_91" Java(TM) SE Runtime Environment (build 1.8.0_91-b14) Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode) 

在上面之前确保registry的CurrentVersion是1.8

在开始菜单中input“regedit”打开registry编辑器

  1. 转到左侧registry资源pipe理器/树形菜单上的“HKEY_LOCAL_MACHINE”
  2. 点击“HKEY_LOCAL_MACHINE”registry中的“SOFTWARE”
  3. 点击“SOFTWARE”registry中的“JavaSoft”
  4. 点击“JavaSoft”registry列表中的“Java运行时环境”,在这里您可以看到已安装的Java的不同版本
  5. 点击“Java Runtime Environment” – 在右边你会得到4-5行。 请select“CurrentVersion”并右键单击(select修改选项),确保版本是“1.8”

我对这个问题的解决scheme是在阅读并尝试上述所有内容之后才提出的

在我的情况下,我试图降级Java以在Apache ActiveMQ使用打印输出。 卸载所有的Java版本和清理registry后,我得到了同样的错误

错误:registry项'Software \ JavaSoft \ Java运行时环境'\ CurrentVersion'的值为'1.7',但是'1.8'是必需的。

在我的情况下,我需要去环境variables,编辑path,打开javapath位置( C:\ProgramData\Oracle\Java\javapath ),那里有 – 三个文件( java.exejavaw.exejavaws.exe )这是从JRE8版本保持。

在build立这个事实之后,我简单地将它们从C:\Windows\SysWOW64目录(这些目录从JRE7版本)切换到相同的文件,并且完全运行。

首先,你应该有Java 7.如果你没有,先安装它(我不知道你在用什么,Linux,Mac,yum,apt,homebrew,你应该知道你自己。)

如果您已经拥有Java 7,请运行:

 echo $JAVA_HOME 

输出应该是这样的: /usr/lib/jvm/java-8-oracle 。 在这个目录附近,你应该看到java-7目录。 find之后,运行

 export JAVA_HOME=${java-7-dir} 

用你的目录path改变{java-7-dir} 。 那么你可以运行你的命令。

这只是一个临时解决scheme。 要永久地改变它,把上面的命令放到~/.bashrc文件中。

编辑:如果您使用Windows ,请将JAVA_HOME环境variables更改为您的Java 7安装目录path。

我的短小贡献,与Talend Open Studio 64位版本共享相同的问题。

  1. 手动启动.. \ TOS_DI-Win32-20150702_1326-V6.0.0 \ TOS_DI-win-x86_64.exe(不链接启动的Windows菜单)
  2. 并出现此registry错误消息

要解决此问题,请删除c:\ ProgramData \ Oracle \ Java \ javapath \中的所有java.exe,javaw.exe和javaws.exe文件。

和TOS正确开始64位版本!

从系统path中删除它:

 %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem 

它将解决在Java版本从1.7升级到1.8的问题

aribeiro答案已经为我工作 – 与微小的变化

  • 我删除了对C:\ ProgramData \ Oracle \ Java \ javapath的引用; 从Path环境variables
  • 我把/ path / to / jdkhome作为我的PATH环境variables中的第一个条目。 我认为这一切都是需要的。

在jre 1.8版本中存在另一个java.exe文件,它在“path”中,如果可能的话,你应该find并删除它。 它可能在需要jre的应用程序的用户tempdata中。

请更改JAVA_BIN和JAVA_HOME系统variables,然后重新启动系统或者重新login。 你有这个错误,因为它仍然是jdk1.7path。 在窗户上是这样的: 在这里输入图像说明

只需安装Java SE运行时环境JRE 7!

现在,您可以在“控制面板”的“程序和function”中看到“java 7”和“java 8”

它为我工作。

在最新的自动Java更新之后,我无法从命令提示符运行Java。

我的pathvariables有'C:\ ProgramData \ Oracle \ Java \ javapath;'

我无法cd到“C:\ ProgramData \ Oracle \ Java \ javapath;” 从命令提示符窗口,因为它不存在。

我删除了C:\ ProgramData \ Oracle \ Java \ javapath;' 从pathvariables中replace为'C:\ Program Files \ Java \ jre1.8.0_141 \ bin;'

取消您的程序列表中的Java 8。 按照以下步骤: –

在桌面上,点击屏幕左下angular的开始菜单(或开始球)。 转到控制面板。 点击程序和function。 selectJava8并单击卸载

我有类似的问题。 将JDK和JREpath移动到pathvariables的顶部解决了这个问题(它优先于System32下的内容)

例如,这是我的:

在这里输入图像说明

在任务pipe理器中删除与Java相关的所有应用程序,然后从C:\ windows \ System32中删除Java.exe,Javaw.exe和Jawaws.exe

这应该解决你的问题… 🙂

只是这样做,它的工作

HKLM>软件> JavaSoft> Java运行时环境

只需手动将当前版本更改为1.7。

大声笑…但它的工作!