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.exe
, javaw.exe
和javaws.exe
-
Windows\System32
和 -
Windows\SysWOW64
文件夹。 [如果您有x64系统(Win 7 64位),请尝试第2步]
- 打开registry
- 转到
[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment]
- 将值
CurrentVersion
从“1.8”更改为“1.7”
在我的情况(Windows 7 64位),我只是做了以下几点:
- 删除了对C:\ ProgramData \ Oracle \ Java \ javapath的引用; 从Path环境variables
- 从C:\ Windows \ System32文件夹中删除了java , javaw和javaws文件
之后,我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.exe , javaw.exe和javaws.ex e,并为我工作。
我没有删除任何java.exe文件,但改变了我的系统 – “path”variables的顺序 – 以便它反映%JAVA_HOME%\ bin作为第一个条目。 那就是诀窍。
我有同样的问题。 对我来说简单的解决scheme是重新安排JRE/JDK
PATH
的条目。 安装JRE 8
,安装已经在System32 or SysWOW64
目录中放置了一些可执行文件,这些问题就出现了,这些可执行文件都搞乱了。 要解决这个问题:
-
创build指向JDK主目录的环境variables
JAVA_HOME
。set JAVA_HOME=C:\Progra~1\Java\jdk1.8.0_45
-
将条目
%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编辑器
- 转到左侧registry资源pipe理器/树形菜单上的“HKEY_LOCAL_MACHINE”
- 点击“HKEY_LOCAL_MACHINE”registry中的“SOFTWARE”
- 点击“SOFTWARE”registry中的“JavaSoft”
- 点击“JavaSoft”registry列表中的“Java运行时环境”,在这里您可以看到已安装的Java的不同版本
- 点击“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.exe
, javaw.exe
, javaws.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位版本共享相同的问题。
- 手动启动.. \ TOS_DI-Win32-20150702_1326-V6.0.0 \ TOS_DI-win-x86_64.exe(不链接启动的Windows菜单)
- 并出现此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。
大声笑…但它的工作!