Error de Java al abrir la clave de registro

110

Recibo este error cuando intento hacer algo con Java en el símbolo del sistema:

Error opening registry key 'Software\JavaSoft\Java Runtime Environment.3'
Error: could not find Java.dll
Error: could not find Java 2 Runtime Environment

Me equivoqué al eliminar directorios y registros de Java hace unos días. Reinicié la computadora y Java seguía funcionando bien, luego lo reinicié nuevamente hoy y ahora aparece este error. He intentado desinstalar y reinstalar, pero parece que no funciona. Tengo instalado el último Java JRE y la ruta establecida en las variables de entorno. ¿Alguien tiene alguna idea de cómo solucionar esto?

gFu
fuente
Intenté desinstalar java a través del símbolo del sistema y arruinó mi desinstalador. Así que eliminé manualmente la carpeta y eliminé los registros correspondientes. Reinicié y reinstalé Java después de eso y funcionó bien hasta mi próximo reinicio.
gFu
1
¿Intentas reinstalar después de que el reinicio lo estropeó? Quizás la tercera sea la vencida
Atreys
Sí lo tengo, todavía no funciona.
gFu
¿Ha intentado hacer una copia de seguridad de sus otros archivos y reformatear su computadora? Probablemente puedas hacer una nueva instalación de Java después de eso. Pero este método podría ser excesivo
Atreys
1
De alguna manera lo resolví para mi problema particular descargando el tiempo de ejecución aunque ya tenía JDK instalado. Dejo esto aquí en caso de que realmente funcione para alguien más.
Dave

Respuestas:

185

Asegúrese de eliminar cualquiera java.exe, javaw.exey javaws.exede su Windows\System32carpeta y si tiene un sistema x64 (Win 7 64 bits) también haga lo mismo en Windows\SysWOW64.

Si no puede encontrarlos en estas ubicaciones, intente eliminarlos de C:\ProgramData\Oracle\Java\javapath.

Baha
fuente
7
Después de eliminar los ejecutables "java" de mi carpeta system32, tuve que reinstalar el JRE. Después de eso, mi problema se resolvió. Gracias por el punto de partida.
dangowans
1
Después de la instalación de un parche de seguridad, no pude abrir eclipse debido a este error. ¡Muchas gracias! Tu solución funcionó. Pero me pregunto cuál es la verdadera razón aquí.
pvarma
1
Trabajó para mi ! Gracias ! También tuvo que reinstalar el JRE.
kbonnelly
1
¿Puede decirme cuál es el efecto de estos archivos en la carpeta system32?
Rabia Naz khan
ejecute "where java" para ver la ubicación de los archivos ejecutables mencionados anteriormente. Mina dónde en C: \ Archivos de programa (x86) \ Archivos comunes \ Oracle \ Java \ javapath
Charis Moutafidis
85

Encontrará una carpeta llamada " Oracle " en la carpeta ProgramData en su unidad de Windows instalada. Quita la carpeta. Espero que funcione. En mi caso, mi unidad de instalación es C y mi ruta es C: \ ProgramData \ Oracle

Shuvankar Paul
fuente
@lese de nada. Es bueno saber que esto está funcionando para usted.
Shuvankar Paul
9
Alternativamente, elimine C:\ProgramData\Oracle\Java\javapathde Pathla variable de entorno de Windows
Gediminas Rimsa
@GediminasRimsa, no estoy seguro de que esta variable de entorno de ruta se presente en todos los casos. Pero, gracias por el comentario.
Shuvankar Paul
Eliminé la ruta de las variables ambientales pero aún tuve que eliminar la carpeta Oracle de la carpeta ProgramData para que funcionara.
Irena Rich
@GediminasRimsa De hecho tuve que eliminar la variable de entorno después de eliminar la carpeta Oracle en mi ProgramData
Alyosha_Karamazov
21

Tuve un problema similar. Había instalado la actualización 1 de JDK7 pero no pude usarla (probablemente porque encontré un JRE6 que eliminé después de instalar JDK7). Desinstalar JDK7 fue imposible. La solución fue agregar las entradas del registro JRE a mano.

[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment]
"CurrentVersion"="1.7"

[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\1.7]
"JavaHome"="C:\\Program Files\\Java\\jre7"
"RuntimeLib"="C:\\Program Files\\Java\\jre7\\bin\\client\\jvm.dll"

[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\1.7.0_01]
"JavaHome"="C:\\Program Files\\Java\\jre7"
"RuntimeLib"="C:\\Program Files\\Java\\jre7\\bin\\client\\jvm.dll"

Tendrá que ajustar lo anterior a sus propios directorios y versión.

Si esto no ayuda, todavía existe JavaRa http://raproducts.org/wordpress/ .

Tilman Hausherr
fuente
Lamentablemente, esto no funcionó para nosotros en Windows Server 2016. Seguimos obteniendo "no se pudo encontrar el módulo especificado"
Praxiteles
Lamento oír eso ... pruebe todas las demás soluciones, busque el mensaje de error ... y si encuentra una solución, compártala aquí o cree una nueva pregunta. Sin embargo ... "no se pudo encontrar el módulo especificado" no es el mensaje de error que se discutió en la pregunta original.
Tilman Hausherr
6

Asegúrese de eliminar todos los archivos java.exe, javaw.exe y javaws.exe de su sistema.

  • si tiene un sistema x32 (Win XP 32 bits) carpeta Windows \ System32

  • si tiene un sistema x64 (Win 7 64 bits) también haga lo mismo en la carpeta Windows \ SysWOW64

usuario3740684
fuente
6

Elimine estos 3 archivos presentes en su local en la ruta C: \ ProgramData \ Oracle \ Java \ javapath

java.exe
javaw.exe
javaws.exe

Esto me resolvió el problema :)

shikha singh
fuente
4

Hay 3 ubicaciones para comprobar

  1. Registro HKEY_LOCAL_MACHINE \ SOFTWARE \ JavaSoft \ Java Runtime Environment \ 1.8.0_xxx \ JavaHome
  2. Panel de control de Java - Pestaña Java - Ver - Ruta
  3. Variables de entorno: ruta ($ env: ruta)

Los 3 tienen que alinearse (si tiene múltiples entradas, simplemente elimine las incorrectas), eso es todo

Marcin Piaskowski
fuente
4

En Windows 10, acababa de instalar el JDK y obtuve estos errores al verificar la versión. Tuve que eliminar todos los archivos ejecutables que comienzan con java(es decir java.exe, javaw.exey javaws.exe) de C:\ProgramData\Oracle\Java\javapath. Y luego, una vez eliminado, vuelva a ejecutar el instalador de JDK, reinicie mi programa de terminal y java -vfunciona.

joe_the_third
fuente
Tenía que hacer esto pero no necesitaba reinstalar nada. Eliminar los ex solucionó el problema
Llamado
Lo mismo ocurre con la eliminación de esos .exe.
guymac
Se corrigió en Windows 8 después de eliminar esos archivos
poovaraj
1

Habría etiquetado esto como un comentario, pero no puedo (no tengo el representante) solo quería agradecer a Tilman. Estaba tratando de que PDFsam (PDF Split and Merge) funcionara en vano.

En el lanzamiento, produciría un error que indica que no pudo encontrar JRE 1.6.0. Tengo versiones de 32 y 64 bits y están bien en el sitio web de Java en sus respectivos navegadores.

Intenté desinstalar / reinstalar y reiniciar repetidamente, así como usar JavaRa. No tuve tanta suerte, todavía no vamos.

Busqué en el registro después de leer esta publicación y no había ... \ SOFTWARE \ JavaSoft \ key, así que agregué cada uno con sus respectivos valores de cadena apuntando a mi versión x86 (PDFsam es un programa de 32 bits). Esto superó el primer problema, pero apareció un error sobre las bibliotecas amd64 que sugería que la máquina quería ejecutar la versión de 64 bits. Así que cambié las rutas al JRE de 64 bits y PDFsam ahora funciona.

Para su información, llegué aquí buscando claves de registro de Java después de que no pude iniciar javaw.exe desde el símbolo del sistema (incluso después de agregar las rutas requeridas a la ruta del sistema), haciendo que los cambios mencionados anteriormente también resolvieran esto.

Dizzixx
fuente
1

Recibí este tipo de error cuando no tenía JDK 1.7 antes, instalé JAVA JDK 1.8 y apunté mis variables JAVA_HOME y PATH a la versión JAVA 1.8. Cuando intento encontrar la versión de Java, aparece este error. Reinicié mi máquina y funciona. Parece que tenemos que reiniciar la máquina después de modificar las variables de entorno.

usuario213013
fuente
1

Yo tuve lo mismo:

Error opening registry key 'Software\JavaSoft\Java Runtime Environment

Borrar Windows \ SysWOW64 no ayuda para Win7

En mi caso, la instalación de JDK8 sin conexión ayudó (desde el enlace )

i-mir
fuente
0

En caso de que se esté ejecutando un escáner de virus (como McAfee), intente:

  1. Desactivar el escáner de virus
  2. Desinstale Java (a través del Panel de control / Programas y características)
  3. Reinstale Java (desde Java.com )
  4. Vuelva a habilitar el escáner de virus
zut
fuente
0

Desinstale Java (a través del Panel de control / Programas y características)

Instale Java JRE 7 -> OFFLINE <- Configure JAVA_HOME y Path = %JAVA_HOME%/bin;%PATH%

dap1995
fuente
0

Tengo Windows 7. Tengo el mismo problema después de instalar: PyCharm. No estaba satisfecho con PyCharm, así que decidí usar Eclipse en su lugar. Fue entonces cuando descubrí que las cosas salieron mal con mi JDK. Solía ​​tener Java.9.x. Así que decidí desinstalarlo y obtener la versión más nueva (en mi momento era Java.11.x. El mismo problema persistía. Seguí la mayoría de los pasos mencionados anteriormente en la publicación como: - Eliminando todos los archivos java * .exe, - Eliminar entradas relacionadas con Java del registro - Limpiar todas las carpetas Java innecesarias Sin embargo, nada ayudó Todavía tenía algo en el sistema que se refería a un nombre de ruta Java roto.

Lo que realmente trajo remedio es lo siguiente: - Desinstalé cualquier versión de JDK que tuviera en ese momento. - Reinstalé la última versión de JDK que tenía antes de que ocurriera el problema - Desinstale correctamente esa versión. - Instale la última versión del SDK. ..

Eso es todo ... en este punto todo volvió a la normalidad ... Excepto que Java.11.xx no solucionó la ruta del sistema automáticamente, tuve que hacerlo manualmente.

Nowfal
fuente
0

Seguí varias respuestas de arriba y resolví mi problema.

Problema:

Javac estaba en 13 desde jdk pero java estaba usando 1.8 desde jre, por lo que java arrojó un error de tiempo de ejecución incompatible

Reparar:

  1. En Panel de control -> Programas: desinstalé 1.8 (llamado Java 8 runtime) y NO toqué el otro (llamado Java (TM) SE Development Kit 13)

  2. Archivos java.exe, javac.exe y javawc.exe eliminados de: a. C: \ Windows \ system32 b. C: \ Windows \ SysWOW64 c. C: \ ProgramData \ Oracle \ Java \ javapath

  3. La variable de entorno JDK_HOME apuntaba a 13 pero JAVA_HOME apuntaba a 1.8, así que señalé a JAVA_HOME para usar también 13, que era C: \ Program Files \ Java \ jdk-13.0.1

  4. Había una variable de ruta en las secciones de variables de usuario y variables del sistema. Para el de la sección de variables de usuario, agregué la cadena% JDK_HOME%, que se tradujo automáticamente a la ruta física. Para el que está debajo de las variables del sistema, eliminé la ruta C: \ ProgramData \ Oracle \ Java \ javapath y agregué C: \ Program Files \ Java \ jdk-13.0.1 \ bin

¡Todo bien ahora! Gracias a todas las personas que respondieron, ¡eres genial!

Shree Harsha
fuente