Errore Java durante l'apertura della chiave di registro


110

Ottengo questo errore quando provo a fare qualcosa con Java nel prompt dei comandi:

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

Ho rovinato con l'eliminazione delle directory e del registro di Java alcuni giorni fa. Ho riavviato il computer e java funzionava ancora bene, quindi l'ho riavviato di nuovo oggi e ora ricevo questo errore. Ho provato a disinstallare e reinstallare ma non sembra funzionare. Ho installato l'ultimo java JRE e il percorso impostato nelle variabili d'ambiente. Qualcuno ha idea di come risolvere questo problema?


Ho provato a disinstallare java tramite il prompt dei comandi e ha incasinato il mio programma di disinstallazione. Quindi ho cancellato manualmente la cartella e cancellato i registri ad essa relativi. Ho riavviato e reinstallato Java dopo di che e ha funzionato bene fino al mio prossimo riavvio.
gFu

1
Hai provato a reinstallare dopo che il riavvio ha incasinato? Forse la terza volta è il fascino
Atreys

Sì, ho ancora, non funziona.
gFu

Hai provato a eseguire il backup degli altri file e a riformattare il computer? Probabilmente potresti fare una nuova installazione di Java dopo. Ma questo metodo potrebbe essere eccessivo
Atreys

1
In qualche modo l'ho risolto per il mio problema particolare scaricando il runtime anche se avevo già installato JDK. Lo lascio qui nel caso in cui funzioni effettivamente per qualcun altro.
Dave

Risposte:


185

Assicurati di rimuovere qualsiasi java.exe, javaw.exee javaws.exedalla tua Windows\System32cartella e se hai un sistema x64 (Win 7 64 bit) fai lo stesso anche sotto Windows\SysWOW64.

Se non riesci a trovarli in queste posizioni, prova a eliminarli da C:\ProgramData\Oracle\Java\javapath.


7
Dopo aver rimosso gli eseguibili "java" dalla mia cartella system32, ho dovuto reinstallare JRE. Dopo di che, il mio problema è stato risolto. Grazie per il punto di partenza.
dangowans

1
Dopo l'installazione di una patch di sicurezza, non sono stato in grado di aprire eclipse a causa di questo errore. Molte grazie! La tua soluzione ha funzionato. Ma mi chiedo quale sia la vera ragione qui.
pvarma

1
Ha funzionato per me! Grazie ! Inoltre ha dovuto reinstallare il JRE.
kbonnelly

1
Puoi dirmi qual è l'effetto di questi file nella cartella system32?
Rabia Naz khan

eseguire "where java" per vedere la posizione dei file eseguibili menzionati sopra. Il mio dove su C: \ Program Files (x86) \ Common Files \ Oracle \ Java \ javapath
Charis Moutafidis

85

Troverai una cartella denominata " Oracle " nella cartella ProgramData nell'unità installata di Windows. Rimuovi la cartella. Spero che funzioni. Nel mio caso l'unità di installazione è C e il mio percorso è C: \ ProgramData \ Oracle


@lese sei il benvenuto. È bello sentire che questo funziona per te.
Shuvankar Paul

9
In alternativa, rimuovere C:\ProgramData\Oracle\Java\javapathdalla Pathvariabile di ambiente Windows
Gediminas Rimsa

@GediminasRimsa, non sono sicuro che questa variabile d'ambiente del percorso sarà presente in ogni caso. Ma grazie per il commento.
Shuvankar Paul,

Ho rimosso il percorso dalle variabili ambientali ma dovevo comunque rimuovere la cartella Oracle dalla cartella ProgramData per farlo funzionare.
Irena Rich

@GediminasRimsa In realtà ho dovuto rimuovere la variabile di ambiente dopo aver eliminato la cartella Oracle nel mio ProgramData
Alyosha_Karamazov

21

Ho avuto un problema simile. Avevo installato JDK7 update 1 ma non potevo usarlo (probabilmente perché ho trovato un JRE6 che ho cancellato dopo aver installato JDK7). La disinstallazione di JDK7 era impossibile. La soluzione consisteva nell'aggiungere manualmente le voci di registro JRE.

[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"

Dovrai adattare quanto sopra alle tue directory e alla tua versione.

Se questo non aiuta, c'è ancora JavaRa http://raproducts.org/wordpress/ .


Purtroppo, questo non ha funzionato per noi su Windows Server 2016. Continuiamo a ricevere "il modulo specificato non è stato trovato"
Praxiteles

Mi dispiace sentire che ... prova tutte le altre soluzioni, cerca il messaggio di errore ... e se trovi una soluzione, condividila qui o crea una nuova domanda. Tuttavia ... "il modulo specificato non è stato trovato" non è il messaggio di errore discusso nella domanda originale.
Tilman Hausherr

6

Assicurati di rimuovere qualsiasi java.exe, javaw.exe e javaws.exe dal tuo sistema.

  • se hai un sistema x32 (Win XP 32 bit) cartella Windows \ System32

  • se hai un sistema x64 (Win 7 64 bit) fai lo stesso anche nella cartella Windows \ SysWOW64


6

Elimina questi 3 file presenti nel tuo locale nel percorso C: \ ProgramData \ Oracle \ Java \ javapath

java.exe
javaw.exe
javaws.exe

Questo ha risolto il problema per me :)


4

Ci sono 3 posizioni da controllare

  1. Registro HKEY_LOCAL_MACHINE \ SOFTWARE \ JavaSoft \ Java Runtime Environment \ 1.8.0_xxx \ JavaHome
  2. Pannello di controllo Java - scheda Java - Visualizza - Percorso
  3. Variabili d'ambiente - Percorso ($ env: Path)

Tutti e 3 devono essere allineati (se hai più voci rimuovi quelle sbagliate) - questo è tutto


4

Su Windows 10 avevo appena installato il JDK e ho ricevuto questi errori durante il controllo della versione. Ho dovuto eliminare tutti i file eseguibili che iniziano con java(ie java.exe, javaw.exeand javaws.exe) da C:\ProgramData\Oracle\Java\javapath. E poi, una volta eliminato, riesegui il programma di installazione JDK, riavvia il mio programma terminale e java -vfunziona.


Dovevo farlo ma non avevo bisogno di reinstallare nulla. L'eliminazione degli ex ha risolto il problema
Callat

Idem, l'eliminazione di quei file .exe ha risolto il problema per me.
guymac

È stato risolto in Windows 8 dopo aver eliminato quei file
poovaraj

1

Lo avrei etichettato come un commento ma non posso (non ho il rappresentante) volevo solo ringraziare Tilman. Stavo cercando di far funzionare PDFsam (PDF Split and Merge) senza alcun risultato.

All'avvio produrrebbe un errore indicante che non è stato possibile trovare JRE 1.6.0. Ho entrambe le versioni a 32 e 64 bit e controllano bene il sito Web Java nei rispettivi browser.

Ho provato a disinstallare / reinstallare e riavviare ripetutamente, oltre a utilizzare JavaRa. Nessuna fortuna, ancora niente da fare.

Ho guardato nel registro dopo aver letto questo post e non c'era nessuna chiave ... \ SOFTWARE \ JavaSoft \, quindi ho aggiunto ciascuna con i rispettivi valori di stringa che puntavano alla mia versione x86 (PDFsam è un programma a 32 bit). Questo ha superato il primo problema, ma è apparso un errore sulle librerie amd64 che suggerivano che la macchina voleva eseguire la versione a 64 bit. Quindi ho cambiato i percorsi per JRE a 64 bit e PDFsam ora funziona.

Cordiali saluti - Sono arrivato qui cercando le chiavi di registro Java dopo che non sono stato in grado di avviare javaw.exe dal prompt dei comandi (anche dopo aver aggiunto i percorsi richiesti al percorso di sistema), facendo sì che le modifiche di cui sopra hanno risolto anche questo.


1

Ho ricevuto questo tipo di errore quando avevo JDK 1.7 prima e ho installato JAVA JDK 1.8 e ho indirizzato le mie variabili JAVA_HOME e PATH alla versione JAVA 1.8. Quando provo a trovare la versione java ho ricevuto questo errore. Ho riavviato la mia macchina e funziona. Sembra che dobbiamo riavviare la macchina dopo aver modificato le variabili di ambiente.


1

Ho avuto lo stesso:

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

La cancellazione di Windows \ SysWOW64 non aiuta per Win7

Nel mio caso l'installazione di JDK8 offline ha aiutato (dal collegamento )


0

Nel caso in cui sia in esecuzione uno scanner antivirus (come McAfee), prova:

  1. Disabilita lo scanner antivirus
  2. Disinstallare Java (tramite Pannello di controllo / Programmi e funzionalità)
  3. Reinstallare Java (da Java.com )
  4. Riattiva lo scanner antivirus

0

Disinstallare Java (tramite Pannello di controllo / Programmi e funzionalità)

Installa Java JRE 7 -> OFFLINE <- Configura JAVA_HOME e Path = %JAVA_HOME%/bin;%PATH%


0

Ho Windows 7. Ho lo stesso problema dopo l'installazione: PyCharm. Non ero soddisfatto di PyCharm, quindi ho deciso di utilizzare Eclipse. Questo è quando ho scoperto che le cose andavano storte con il mio JDK. Avevo Java.9.x. Quindi ho deciso di disinstallarlo e ottenere la versione più recente (ai miei tempi era Java.11.x. Lo stesso problema persisteva. Ho seguito la maggior parte dei passaggi sopra menzionati nel post come: - Rimozione di tutti i file java * .exe, - rimozione delle voci relative a Java dal registro - Pulizia di tutte le cartelle Java non necessarie Tuttavia, nulla ha aiutato. Avevo ancora qualcosa nel sistema che si riferiva a un percorso Java non funzionante.

Ciò che ha veramente portato il rimedio è il seguente: - Disinstallata qualsiasi versione di JDK che avevo al momento. - Re-installato l'ultima versione di JDK che avevo prima che si verificasse il problema - Disinstallare correttamente quella versione. - Installa qualsiasi versione più recente di SDK. ..

Ecco fatto .. a questo punto tutto è tornato alla normalità ... Tranne che Java.11.xx non ha aggiustato il percorso di sistema automaticamente, ho dovuto farlo manualmente.


0

Ho seguito più risposte dall'alto e ho risolto il mio problema.

Problema:

Javac era su 13 da jdk ma java utilizzava 1.8 da jre, quindi java ha generato un errore di runtime incompatibile

fix:

  1. In Pannello di controllo -> Programmi: ho disinstallato 1.8 (denominato Java 8 runtime) e NON ho toccato l'altro (denominato Java (TM) SE Development Kit 13)

  2. File java.exe, javac.exe e javawc.exe eliminati da: a. C: \ Windows \ system32 b. C: \ Windows \ SysWOW64 c. C: \ ProgramData \ Oracle \ Java \ JavaPath

  3. La variabile d'ambiente JDK_HOME puntava a 13 ma JAVA_HOME puntava a 1.8 quindi ho indicato JAVA_HOME per usare anche 13 che era C: \ Program Files \ Java \ jdk-13.0.1

  4. C'era una variabile Path in entrambe le sezioni Variabili utente e Variabili di sistema. Per quello nella sezione delle variabili utente, ho aggiunto la stringa% JDK_HOME% - che si traduce automaticamente nel percorso fisico. Per quello sotto le variabili di sistema, ho eliminato il percorso C: \ ProgramData \ Oracle \ Java \ javapath e aggiunto C: \ Program Files \ Java \ jdk-13.0.1 \ bin

Va tutto bene adesso! Grazie a tutte le persone che hanno risposto, sei forte!

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.