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:
versión de java "1.8.0_40" Java (TM) SE Runtime Environment (compilación 1.8.0_40-b26) Java HotSpot (TM) 64-Bit Server VM (compilación 25.40-b25, modo mixto)
No puedo encontrar dónde va mal el camino. ¿Alguna idea?
----------------------- EDITAR -------------------------- ----------------------
Nota : estoy usando Windows 7 (64 bits).
He intentado desinstalar sencha touch cmd y volver a instalarlo. Pero sigue siendo el mismo error.
Desinstalé todas las instancias de la versión de Java y reinstalé la última, pero el problema persiste.
fuente
System32
resolverá el problema.En mi caso (Windows 7 de 64 bits), hice lo siguiente:
Luego, cerré todas las consolas de línea de comandos abiertas, las volví a abrir y ejecuté java -version .
fuente
[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment]
CurrentVersion
de "1.8" a "1.7"fuente
re: usuarios de Windows
No. No elimine la referencia del entorno Javapath de su variable PATH.
La razón por la que el registro no funcionó es que el script Oracle Javapath debe ejecutarse en la secuencia PATH antes que los directorios JRE y JDK; resolverá la versión actual:
ponga este directorio en el HEAD de su
%PATH%
variable:[o donde sea que esté en su escritorio]
por lo que su RUTA se verá 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
A continuación, verá la versión actual correcta:
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)
fuente
Mi experiencia:
Estoy usando Windows 8.1 y he degradado la versión de JAVA de 1.8 a 1.7 y estaba obteniendo el mismo error.
Error: la clave de registro 'Software \ JavaSoft \ Ja tiene el valor' 1.7 ', pero se requiere' 1.8 '.
He borrado java.exe , javaw.exe y javaws.ex correo de C: \ Windows \ System32 carpeta y que trabajó para mí.
fuente
Tuve el mismo problema. La solución simple que funcionó para mí es reorganizar las entradas en el
PATH
forJRE/JDK
. Este problema comenzó a aparecer después de la instalaciónJRE 8
cuya instalación ha puesto algunos archivos ejecutables enSystem32 or SysWOW64
directorios, estos archivos ejecutables se están estropeando. 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. Añadiendo el valor existente dePATH
. Por ejemplo:path=C:\Program Files\Java\jdk1.8.0_45\bin;%path%
fuente
No eliminé ninguno de los archivos java.exe, pero cambié el orden de mi Sistema - variable "ruta" - para que refleje% JAVA_HOME% \ bin como la primera entrada. Eso hizo el truco.
fuente
El error es explícito ...
... está intentando utilizar el
java.exe
ejecutable 1.7 mientras que la clave de registroHKEY_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, reconfiguración del entorno de los usuarios o eliminación de ejecutables java con los dedos cruzados y esperar que exista otro respaldo
java.exe
en los usuarios%PATH%
y que el respaldojava.exe
sea el ejecutable correcto).La solución correcta depende de lo que esté tratando de lograr: "¿está intentando cambiar de jdk-8 a jdk-7? ¿Está intentando actualizar a jdk-8? ..."
Pasos de reproducción
actualizar la
%PATH%
variable de entorno de los usuarios , eliminarC:\Program Files (x86)\Common Files\Oracle\Java\javapath
en un nuevo símbolo del sistema
java -version
Solución (s)
La solución de OP https://stackoverflow.com/a/29769311/1423507 es un enfoque de " cruzar los dedos y esperar que exista un retroceso
java.exe
en los usuarios%PATH%
y que el ejecutable de respaldo sea correcto" al error. Dados los pasos de reproducción, la eliminación de losjava.exe
,javaw.exe
yjavaws.exe
los ejecutables deC:\Windows\System32
(sólo en mi caso) dará lugar a no tener cualquierjava.exe
presente en los usuarios%PATH%
resultando en el error de'java' is not recognized as an internal or external command, operable program or batch file.
que no es tanto de una solución.las respuestas https://stackoverflow.com/a/35775493/1423507 y https://stackoverflow.com/a/36516620/1423507 funcionan, sin embargo, está volviendo a usar
java.exe
1.7 (por ejemplo, actualice elCurrentVersion
valor de la clave de registro para que coincida con lajava.exe
versión que se encuentra en los usuarios%PATH%
).asegúrese de que
java.exe
1.8 sea el primero que se encuentre en los usuarios%PATH%
(cómo lo hace es irrelevante), es decir:%PATH%
para incluirC:\Program Files (x86)\Common Files\Oracle\Java\javapath
primero (asegúrese de que los ejecutables en ese directorio sean correctos)%PATH%
para incluir primero la ruta absoluta de sus binarios de Java (set PATH="C:\Program Files\Java\jre1.8.0_191\bin;%PATH%"
)%PATH%
con ellos (set JAVA_HOME="C:\Program Files\Java"
;set JRE_HOME=%JAVA_HOME%\jre1.8.0_191
;set PATH=%JRE_HOME%\bin;%PATH%
)fuente
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.
fuente
La respuesta de aribeiro me ha funcionado, con cambios menores
fuente
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.
fuente
Mi solución para este problema vino después de leer e intentar todo lo anterior.
En mi caso, traté de degradar Java para usar impresiones en formato
Apache ActiveMQ
. Después de desinstalar todas las versiones de Java y limpiar el registro, recibí el mismo errorEn mi caso tenía que ir a las variables de entorno, editar ruta, abra la ubicación javapath (
C:\ProgramData\Oracle\Java\javapath
) y allí estaba - tres archivos (java.exe
,javaw.exe
,javaws.exe
) que quedaron de la versión JRE8.Después de establecer este hecho, simplemente los cambié con los mismos archivos del
C:\Windows\SysWOW64
directorio (esos eran de laJRE7
versión) y todo funcionó perfectamente.fuente
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; ' de la variable de ruta y la reemplazó con 'C: \ Archivos de programa \ Java \ jre1.8.0_141 \ bin;'
fuente
Tienes que definir tu carpeta jdk en la variable JAVA_HOME, agregar% JAVA_HOME% a tu ruta variable
Elimine o cambie el nombre de su java.exe, javaw.exe y javaws en su carpeta system32
ejecute cmd.exe, java -version ahora tome la nueva versión que defina en JAVA_HOME.
fuente
Además de la respuesta de Anand Gupta, asegúrese de que no se use ningún otro java excepto el que necesita. Ejecute
which java
(where java
para Windows) y vea qué ejecutables de Java se utilizan. Simplemente elimine los que no desea usar y si el que necesita no está presente, agréguelo a PATH.fuente
Primero debe tener Java 7. Si no lo tiene, instálelo primero (no sé qué está usando, Linux, Mac, yum, apt, homebrew, debería averiguarlo usted mismo).
Si ya tiene Java 7, ejecute:
La salida debe ser algo como esto:
/usr/lib/jvm/java-8-oracle
. Cerca de este directorio, debería ver eljava-7
directorio. Después de encontrarlo, correexport JAVA_HOME=${java-7-dir}
Cambie
{java-7-dir}
con la ruta de su directorio. Entonces puedes ejecutar tu comando.Esta es solo una solución temporal. Para cambiarlo permanentemente, coloque el comando anterior en su
~/.bashrc
archivo.EDITAR: Si está utilizando Windows , cambie la variable de entorno de
JAVA_HOME
a la ruta del directorio de instalación de Java 7.fuente
Mi pequeña contribución, por compartir el mismo problema con la versión de 64 bits de Talend Open Studio.
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.
fuente
Elimínelo de la ruta del sistema:
Y solucionará el problema al actualizar la versión de Java de 1.7 a 1.8
fuente
Existe en alguna parte otro java.exe de la versión 1.8 de jre que está en la "ruta", debe buscarlo y eliminarlo si es posible. puede estar en tempdata de usuario para aplicaciones que necesitan jre.
fuente
Cambie la variable del sistema JAVA_BIN y JAVA_HOME y luego reinicie el sistema o tal vez vuelva a iniciar sesión. Tiene ese error porque todavía es la ruta jdk1.7. En Windows es así:
fuente
¡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"
Funcionó para mí.
fuente
Una posible solución a este problema es agregar en 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" %*
Colóquelo 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 las variables de usuario para tener el menor impacto posible.
Yo cambio de
a
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.
fuente
Mi sistema: - Windows 8.1
Entornos Java
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ó. Mostró Java 8 como la versión actual.
fuente
Tuve un problema similar. Mover la ruta JDK y JRE a la parte superior de la variable de ruta resolvió el problema (que tiene prioridad sobre lo que está presente en System32)
Por ejemplo, aquí está el mío:
fuente
Desinstale Java 8 de su lista de programas. Siguiendo los pasos a continuación: -
Desde su escritorio, haga clic en el menú Inicio (o bola de Inicio) en la parte inferior izquierda de su pantalla. Vaya al Panel de control. Haga clic en Programas y características. Seleccione Java8 y haga clic en Desinstalar
fuente
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... :)
fuente
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ó!
fuente