what - Error de clave de registro: la versión de Java tiene el valor ''1.8'', pero se requiere ''1.7''
what is sencha cmd (26)
Mientras corre
sencha app build production
Estoy teniendo el siguiente error:
Error: clave de registro ''Software / JavaSoft / Java Runtime Environment'' / CurrentVersion ''
tiene el valor ''1.8'', pero se requiere ''1.7''. Error: no se pudo encontrar java.dll Error: no se pudo encontrar Java SE Runtime Environment.
java -version
, el comando muestra lo siguiente:
Java versión "1.8.0_40" Java (TM) SE Runtime Environment (compilación 1.8.0_40-b26) Java HotSpot (TM) VM de servidor de 64 bits (compilación 25.40-b25, modo mixto)
No se puede encontrar dónde va mal el camino. ¿Alguna idea?
----------------------- EDITAR -------------------------- ----------------------
Nota : Estoy usando Windows 7 (64 bit).
He intentado desinstalar el cmd sencha touch y reinstalarlo. Pero sigue siendo el mismo error.
Desinstalé todas las instancias de la versión de Java y reinstalé la última. Aún persiste el problema.
- regedit abierto
-
vaya a
[HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft/Java Runtime Environment]
-
cambie el valor
CurrentVersion
de "1.8" a "1.7"
¡Simplemente instale Java SE Runtime Environment JRE 7!
Ahora verá "java 7" y "java 8" en "Programas y características" en el "Panel de control"
A mi me funciono.
Debe definir su carpeta jdk en la variable JAVA_HOME, agregar% JAVA_HOME% a su ruta variable
Elimine o cambie el nombre de su java.exe, javaw.exe y javaws en su sistema de carpetas32
ejecute cmd.exe, java -version ahora tome la nueva versión que defina en JAVA_HOME.
Desinstale Java 8 de su lista de programas. Siguiendo los siguientes pasos: -
Desde su escritorio, haga clic en el Menú de inicio (o Bola de inicio) en la esquina inferior izquierda de su pantalla. Vaya al Panel de control. Haga clic en Programas y características. Seleccione Java8 y haga clic en Desinstalar
Después de la última actualización automática de Java, no pude ejecutar Java desde el símbolo del sistema.
Mi variable de ruta tenía ''C: / ProgramData / Oracle / Java / javapath;''
No pude cd en ''C: / ProgramData / Oracle / Java / javapath;'' desde la ventana del símbolo del sistema, ya que no existía.
Eliminé C: / ProgramData / Oracle / Java / javapath; '' desde la variable de ruta y lo reemplazó con ''C: / Archivos de programa / Java / jre1.8.0_141 / bin;''
Después de probar más de cien trucos, finalmente obtuve éxito.
javaw.exe
todos los
java.exe
,
javaw.exe
y
javaws.exe
de mi
-
Windows/System32
y -
Carpeta
Windows/SysWOW64
. [Pruebe el paso 2 si tiene un sistema x64 (Win 7 64 bits)]
El error es explícito ...
Error: la clave de registro ''Software / JavaSoft / Java Runtime Environment'' / CurrentVersion ''tiene el valor'' 1.8 '', pero se requiere'' 1.7 ''.
Error: no se pudo encontrar java.dll
Error: no se pudo encontrar Java SE Runtime Environment.
... está intentando utilizar el ejecutable
java.exe
1.7 mientras que la clave de registro
HKEY_LOCAL_MACHINE/Software/JavaSoft/Java Runtime Environment
>
CurrentVersion
tiene el valor 1.8.
El tema recurrente de las soluciones propuestas es que el error es un
error de configuración
.
El error se puede resolver de varias maneras diferentes (por ejemplo, la reconfiguración del entorno de los usuarios o la eliminación de ejecutables de Java con los dedos cruzados y la esperanza de que exista otro fallback
java.exe
en los usuarios
%PATH%
y que el fallback
java.exe
sea el ejecutable correcto).
La solución correcta depende de lo que intente lograr: "¿está tratando de bajar de jdk-8 a jdk-7? ¿Está tratando de actualizar a jdk-8? ..."
Pasos de reproducción
- instalar jdk-7u80-windows-x64.exe
notas:
- el ejecutable
java.exe
disponible en los usuarios%PATH%
está instalado enC:/Windows/System32
- la instalación no actualiza a los usuarios
%PATH%
- se crea la entrada de registro
HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft/Java Runtime Environment
>CurrentVersion
string (entre otros) con el valor1.7
- instalar jdk-8u191-windows-x64.exe
notas:
- los usuarios
%PATH%
se actualizan para incluirC:/Program Files (x86)/Common Files/Oracle/Java/javapath
como la primera entrada- el valor
HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft/Java Runtime Environment
>CurrentVersion
string entradas de registro se actualiza a1.8
-
actualice la variable de entorno
%PATH%
los usuarios, elimineC:/Program Files (x86)/Common Files/Oracle/Java/javapath
-
en un nuevo símbolo del sistema
java -version
Error: la clave de registro ''Software / JavaSoft / Java Runtime Environment'' / CurrentVersion ''tiene el valor'' 1.8 '', pero se requiere'' 1.7 ''.
Error: no se pudo encontrar java.dll
Error: no se pudo encontrar Java SE Runtime Environment.
Solución (es)
-
La solución de OP https://.com/a/29769311/1423507 es un enfoque "cruzado de dedos y espero que exista un error
java.exe
en los usuarios%PATH%
y que el ejecutable alternativo sea correcto" para el error. Dados los pasos de reproducción, al eliminar los ejecutablesjava.exe
,javaw.exe
yjavaws.exe
deC:/Windows/System32
(solo en mi caso) ya no habrájava.exe
presente en los usuarios%PATH%
resultante en el error''java'' is not recognized as an internal or external command, operable program or batch file.
lo cual no es una gran solución. -
Las respuestas https://.com/a/35775493/1423507 y https://.com/a/36516620/1423507 funcionan sin embargo, volverá a usar
java.exe
1.7 (por ejemplo, actualice el valor de la clave de registroCurrentVersion
para que coincida la versiónjava.exe
encontrada en los usuarios%PATH%
). -
asegúrese de que
java.exe
1.8 sea el primero encontrado en los usuarios%PATH%
(cómo lo hace es irrelevante), es decir:-
actualice los usuarios
%PATH%
para incluirC:/Program Files (x86)/Common Files/Oracle/Java/javapath
primero (asegúrese de que los ejecutables en ese directorio sean correctos) -
actualice los usuarios
%PATH%
para incluir primero la ruta absoluta de sus archivos binarios de Java (set PATH="C:/Program Files/Java/jre1.8.0_191/bin;%PATH%"
) -
establezca variables de entorno específicas de Java y actualice los usuarios
%PATH%
con ellas (set JAVA_HOME="C:/Program Files/Java"
;set JRE_HOME=%JAVA_HOME%/jre1.8.0_191
;set PATH=%JRE_HOME%/bin;%PATH%
)
-
actualice los usuarios
Eliminarlo de la ruta del sistema:
%SystemRoot%/system32;%SystemRoot%;%SystemRoot%/System32/Wbem
Y solucionará el problema al actualizar la versión de Java de 1.7 a 1.8
Elimine todas las aplicaciones relacionadas con Java en el administrador de tareas y luego elimine Java.exe, Javaw.exe y Jawaws.exe de C: / windows / System32
Esto debería solucionar tu problema... :)
En cuanto a mí en win7 64bit.
Copie java.exe javaw.exe javaws.exe en la carpeta
C:/Program Files/Java/jre1.8.0_91/bin to the C:/Windows/System32.
y luego abra cmd, escriba 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)
Antes de lo anterior, asegúrese de que la Versión actual del registro sea 1.8
En el menú INICIO escriba "regedit" para abrir el editor del Registro
- Vaya a "HKEY_LOCAL_MACHINE" en el explorador de registro del lado izquierdo / menú de árbol
- Haga clic en "SOFTWARE" dentro de los registros "HKEY_LOCAL_MACHINE"
- Haga clic en "JavaSoft" dentro de los registros de "SOFTWARE"
- Haga clic en "Java Runtime Environment" dentro de la lista de registros "JavaSoft" aquí puede ver diferentes versiones de Java instalado
- Haga clic en "Java Runtime Environment": en el lado derecho obtendrá 4-5 filas. Seleccione "Versión actual" y haga clic con el botón derecho (seleccione la opción de modificación) para asegurarse de que la versión sea "1.8"
En mi caso (Windows 7 de 64 bits), acabo de hacer lo siguiente:
- Se eliminó la referencia a C: / ProgramData / Oracle / Java / javapath; de la variable de entorno Path
- Se eliminaron los archivos java , javaw y javaws de la carpeta C: / Windows / System32
Después, cerré todas las consolas de línea de comandos abiertas, las volví a abrir y ejecuté java -version .
Existe en otro lugar otro java.exe de la versión 1.8 de jre que está en "ruta" que debería encontrar y eliminar si es posible. puede estar en tempdata de usuario para aplicaciones que necesitan jre.
He tenido el mismo problema
La solución simple que funcionó para mí es reorganizar las entradas en la
PATH
para
JRE/JDK
.
Este problema comenzó a aparecer después de instalar
JRE 8
cuya instalación ha puesto algunos archivos ejecutables en los directorios
System32 or SysWOW64
, estos archivos ejecutables están en mal estado.
Para resolver el problema:
-
Cree una variable de entorno que apunte a JDK home como
JAVA_HOME
.set JAVA_HOME=C:/Progra~1/Java/jdk1.8.0_45
-
Coloque la entrada
%JAVA_HOME%/bin
al inicio en su variable de entorno PATH. Agregar valor existente dePATH
. Por ejemplo:path=C:/Program Files/Java/jdk1.8.0_45/bin;%path%
La respuesta de Aribeiro me ha funcionado, con pequeños cambios.
- Eliminé la referencia a C: / ProgramData / Oracle / Java / javapath; de la variable de entorno Path
- Hice / path / to / jdkhome como la primera entrada en mi variable de entorno PATH. Creo que esto solo es todo lo que se necesita.
Mi breve contribución, por compartir el mismo problema con la versión Talend Open Studio de 64 bits.
- Inicie .. / TOS_DI-Win32-20150702_1326-V6.0.0 / TOS_DI-win-x86_64.exe manualmente (no enlace un menú de inicio de Windows)
- y aparece este mensaje de error de registro
Para resolver esto, elimine todos los archivos java.exe, javaw.exe y javaws.exe en c: / ProgramData / Oracle / Java / javapath /
y TOS comienzan con la versión de 64 bits correctamente!
Mi experiencia:
Estoy usando Windows 8.1 y he bajado la versión de JAVA de 1.8 a 1.7 y estaba recibiendo el mismo error.
Error: la clave de registro ''Software / JavaSoft / Ja tiene el valor'' 1.7 '', pero se requiere'' 1.8 ''.
He eliminado java.exe , javaw.exe y javaws.ex e de la carpeta C: / Windows / System32 y funcionó para mí.
Mi sistema: Windows 8.1
Entornos Java
- C: / JavaEnvironment / Java / jdk1.8.0_161
- C: / JavaEnvironment / Java / jdk1.7.0_75
Recientemente instalé Oracle 11g XE y recibí el mensaje de error mencionado cuando accedí al comando "java" en el símbolo del sistema.
Verifiqué mis variables de entorno, verifiqué la secuencia (como se menciona en las respuestas anteriores) y detecté que la variable PATH de mi sistema tenía la siguiente entrada como primera entrada:
C: / OracleDatabase / oraclexe / app / oracle / product / 11.2.0 / server / bin;
Cambié la secuencia y definí la ruta JDK como primera entrada:
Repliqué el mismo cambio en la Variable de usuario: Ruta
Después de terminar la actividad anterior, reinicié el símbolo del sistema y ejecuté el comando java -version y el problema desapareció. Mostraba Java 8 como la versión actual.
Mi solución para este problema vino después de leer y probar todo lo anterior.
En mi caso, intenté degradar Java para usar impresiones en
Apache ActiveMQ
.
Después de desinstalar todas las versiones de Java y limpiar el registro, recibí el mismo error
Error: la clave de registro ''Software / JavaSoft / Java Runtime Environment'' / CurrentVersion ''tiene el valor'' 1.7 '', pero se requiere'' 1.8 ''".
En mi caso, necesitaba ir a las variables de entorno, editar la ruta, abrir la ubicación de javapath (
C:/ProgramData/Oracle/Java/javapath
) y allí estaba: tres archivos (
java.exe
,
javaw.exe
,
javaws.exe
) que quedaba de la versión JRE8.
Después de establecer este hecho, simplemente los cambié con los mismos archivos del directorio
C:/Windows/SysWOW64
(esos eran de la versión
JRE7
) y todo funcionó perfectamente.
No eliminé ninguno de los archivos java.exe, pero cambié el orden de mi sistema - variable "ruta" - para que reflejara% JAVA_HOME% / bin como la primera entrada. Eso hizo el truco.
Primero debe tener Java 7. Si no tiene, instálelo primero (no sé lo que está usando, Linux, Mac, yum, apt, homebrew, debería descubrirlo usted mismo).
Si ya tiene Java 7, ejecute:
echo $JAVA_HOME
La salida debería ser algo como esto:
/usr/lib/jvm/java-8-oracle
.
Cerca de este directorio, debería ver el directorio
java-7
.
Después de encontrarlo, corre
export JAVA_HOME=${java-7-dir}
Cambie
{java-7-dir}
con su ruta de directorio.
Entonces puedes ejecutar tu comando.
Esta es solo una solución temporal.
Para cambiarlo permanentemente, coloque el comando anterior en su archivo
~/.bashrc
.
EDITAR: si está utilizando Windows
, cambie la variable de entorno
JAVA_HOME
a la ruta del directorio de instalación de Java 7.
Tuve este error en algunos servicios de Windows que ejecutan Java. Al final, en mi máquina intenté desinstalar las otras versiones de Java.
Dejé solo 1.8 y ahora todo está funcionando.
Una posible solución a este problema es agregar a la carpeta Sencha CMD un archivo bat como se sugiere en este hilo Sencha Cmd 5 + Java 8 Error .
El lote tendrá el nombre "sencha.bat" con este código:
@echo off
set JAVA_HOME=<YOUR JDK 7 HOME>
set PATH=%JAVA_HOME%/bin;%PATH%
set SENCHA_HOME=%~dp0
java -jar "%SENCHA_HOME%/sencha.jar" %*
Colocarlo en la carpeta sencha, en mi caso es
C:/Users/<YOUR USER>/bin/Sencha/Architect/Cmd/6.2.0.103
El siguiente paso es cambiar la variable de entorno PATHEXT. Cambie en las variables de usuario para tener el menor impacto posible.
Cambio de
COM;.CMD;.EXE;.BAT;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
a
COM;.BAT;.EXE;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
La idea es hacer que Windows ejecute archivos .bat primero que archivos .exe. Esto es importante porque en la carpeta sencha ya hay un archivo "sencha.exe". Y en la línea de comando si escribe "sencha" ejecutará "sencha.exe" en lugar de "sencha.bat".
Esta fue la única solución que funcionó porque estoy muy restringido cuando se trata de permisos.
acabo de hacer esto y funcionó
HKLM> SOFTWARE> JavaSoft> Java Runtime Environment
simplemente cambie manualmente la versión actual a 1.7.
jajaja ... pero funcionó!
re: usuarios de Windows
No. No elimine la referencia de entorno Javapath de su variable PATH.
La razón por la que el registro no funcionó es que el script Oracle Javapath necesita ejecutarse en la secuencia PATH antes de los directorios JRE y JDK; resolverá la versión actual:
coloque este directorio en el HEAD de su
%PATH%
:
C:/ProgramData/Oracle/Java/javapath
[o donde sea que esté en tu escritorio]
para que tu RUTA se vea así: la mía, por ejemplo
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
Luego verá la versión correcta y actual:
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)