Błąd podczas otwierania klucza rejestru Java


110

Otrzymuję ten błąd, gdy próbuję cokolwiek zrobić z Javą w wierszu poleceń:

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

Kilka dni temu spieprzyłem się z usuwaniem katalogów i rejestru Java. Zrestartowałem komputer, a java nadal działała dobrze, a następnie uruchomiłem go ponownie dzisiaj i teraz pojawia się ten błąd. Próbowałem odinstalować i ponownie zainstalować, ale to nie działa. Mam zainstalowane najnowsze środowisko Java JRE i ścieżkę ustawioną w zmiennych środowiskowych. Czy ktoś ma pojęcie, jak to naprawić?


Próbowałem odinstalować Javę za pomocą wiersza poleceń i zepsuło to mój deinstalator. Dlatego ręcznie usunąłem folder i usunąłem związane z nim rejestry. Ponownie uruchomiłem i ponownie zainstalowałem Javę i działało dobrze do następnego ponownego uruchomienia.
— gFu

1
Próbujesz zainstalować ponownie po ponownym uruchomieniu, zepsuło to? Może trzeci raz jest urok
— Atreys

Tak, nadal nie działa.
— gFu

Czy próbowałeś wykonać kopię zapasową innych plików i ponownie sformatować komputer? Prawdopodobnie możesz potem przeprowadzić nową instalację Javy. Ale ta metoda może być przesada
— Atreys

1
W jakiś sposób rozwiązałem to dla mojego konkretnego problemu, pobierając środowisko uruchomieniowe, mimo że miałem już zainstalowany JDK. Zostawiam to tutaj na wypadek, gdyby to faktycznie działało dla kogoś innego.
— Dave

Odpowiedzi:


185

Upewnij się usunąć dowolny java.exe, javaw.exei javaws.exeze swojego Windows\System32katalogu, a jeśli masz system x64 (Win 7 64 bity) również zrobić to samo Under Windows\SysWOW64.

Jeśli nie możesz ich znaleźć w tych lokalizacjach, spróbuj je usunąć z C:\ProgramData\Oracle\Java\javapath.


7
Po usunięciu plików wykonywalnych „java” z folderu system32 musiałem ponownie zainstalować środowisko JRE. Potem mój problem został rozwiązany. Dzięki za punkt wyjścia.
— dangowans

1
Po zainstalowaniu poprawki bezpieczeństwa nie mogłem otworzyć Eclipse z powodu tego błędu. Wielkie dzięki! Twoje rozwiązanie zadziałało. Ale zastanawiam się, jaki jest prawdziwy powód tutaj.
— pvarma

1
Pracował dla mnie! Dziękuję Ci ! Musiałem także ponownie zainstalować środowisko JRE.
— kbonnelly

1
Czy możesz mi powiedzieć, jaki jest efekt tych plików w folderze system32?
— Rabia Naz khan

uruchom polecenie „where java”, aby zobaczyć lokalizację wspomnianych powyżej plików wykonywalnych. Mój, gdzie na C: \ Program Files (x86) \ Common Files \ Oracle \ Java \ javapath
— Charis Moutafidis

85

Znajdziesz folder o nazwie „ Oracle ” w folderze ProgramData na dysku z zainstalowanym systemem Windows. Usuń folder. Mam nadzieję, że to zadziała. W moim przypadku mój dysk instalacyjny to C, a moja ścieżka to C: \ ProgramData \ Oracle


@lese nie ma za co. Miło słyszeć, że to działa dla Ciebie.
— Shuvankar Paul

9
Alternatywnie, usuń zmienną środowiskową C:\ProgramData\Oracle\Java\javapathWindowsPath
— Gediminas Rimsa.

@GediminasRimsa, nie jestem pewien, czy ta zmienna środowiskowa ścieżki będzie występować w każdym przypadku. Ale dzięki za komentarz.
— Shuvankar Paul

Usunąłem ścieżkę ze zmiennych środowiskowych, ale nadal musiałem usunąć folder Oracle z folderu ProgramData, aby działał.
— Irena Rich

@GediminasRimsa Właściwie musiałem usunąć zmienną środowiskową po usunięciu folderu Oracle w moim ProgramData
— Alyosha_Karamazov

21

Miałem podobny problem. Zainstalowałem aktualizację 1 JDK7, ale nie mogłem jej używać (prawdopodobnie dlatego, że znalazłem JRE6, które usunąłem po zainstalowaniu JDK7). Odinstalowanie JDK7 było niemożliwe. Rozwiązaniem było ręczne dodanie wpisów rejestru 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"

Będziesz musiał dostosować powyższe do własnych katalogów i wersji.

Jeśli to nie pomoże, nadal istnieje JavaRa http://raproducts.org/wordpress/ .


Niestety, to nie zadziałało w systemie Windows Server 2016. Nadal otrzymujemy komunikat „nie można znaleźć określonego modułu”
— Praxiteles

Przykro mi to słyszeć ... wypróbuj wszystkie inne rozwiązania, wyszukaj komunikat o błędzie ... a jeśli znajdziesz rozwiązanie, udostępnij je tutaj lub utwórz nowe pytanie. Jednak ... „Nie można znaleźć określonego modułu” nie jest komunikatem o błędzie omówionym w pierwotnym pytaniu.
— Tilman Hausherr

6

Upewnij się, że usunąłeś z systemu wszystkie pliki java.exe, javaw.exe i javaws.exe.

  • jeśli masz system x32 (Windows XP 32 bity) folder Windows \ System32

  • jeśli masz system x64 (Win 7 64 bity), zrób to samo w folderze Windows \ SysWOW64


6

Usuń te 3 pliki obecne w Twojej lokalnej w ścieżce C: \ ProgramData \ Oracle \ Java \ javapath

java.exe
javaw.exe
javaws.exe

To rozwiązało problem dla mnie :)


4

Do sprawdzenia są 3 lokalizacje

  1. Rejestr HKEY_LOCAL_MACHINE \ SOFTWARE \ JavaSoft \ Java Runtime Environment \ 1.8.0_xxx \ JavaHome
  2. Java Control Panel - zakładka Java - Widok - Ścieżka
  3. Zmienne środowiskowe - ścieżka ($ env: Path)

Wszystkie 3 muszą się wyrównać (jeśli masz wiele wpisów, po prostu usuń niewłaściwe) - to wszystko


4

W systemie Windows 10 właśnie zainstalowałem JDK i otrzymałem te błędy podczas sprawdzania wersji. Musiałem usunąć wszystkie pliki wykonywalne zaczynając java(tj java.exe, javaw.exei javaws.exe) od C:\ProgramData\Oracle\Java\javapath. A potem, po usunięciu, ponownie uruchom instalator JDK, zrestartuj mój program terminala i java -vdziała.


Musiałem to zrobić, ale nie musiałem niczego ponownie instalować. Usunięcie exe rozwiązało problem
— Callat

Tak samo, usunięcie tych plików .exe naprawiło to dla mnie.
— guymac

Naprawiono to w systemie Windows 8 po usunięciu tych plików
— poovaraj

1

Oznaczałbym to jako komentarz, ale nie mogę (nie mam przedstawiciela) po prostu podziękować Tilmanowi. Próbowałem, aby PDFsam (dzielenie i scalanie PDF) działało bezskutecznie.

Podczas uruchamiania generowałby błąd informujący, że nie może znaleźć środowiska JRE 1.6.0. Mam zarówno wersje 32-bitowe, jak i 64-bitowe, które sprawdzają się dobrze na stronie Java w odpowiednich przeglądarkach.

Wielokrotnie próbowałem odinstalować / ponownie zainstalować i ponownie uruchomić komputer, a także użyć JavaRa. Nie ma szczęścia, nadal nie ma wyjścia.

Po przeczytaniu tego posta zajrzałem do rejestru i nie było klucza ... \ SOFTWARE \ JavaSoft \, więc dodałem każdy z odpowiadającymi im wartościami ciągów wskazującymi na moją wersję x86 (PDFsam to program 32-bitowy). To minęło pierwszy problem, ale pojawił się błąd dotyczący bibliotek amd64, sugerujący, że maszyna chce uruchomić wersję 64-bitową. Więc zmieniłem ścieżki do 64-bitowego JRE i PDFsam teraz działa.

FYI - dotarłem tutaj, szukając kluczy rejestru Java po tym, jak nie mogłem uruchomić javaw.exe z wiersza poleceń (nawet po dodaniu wymaganych ścieżek do ścieżki systemowej), dzięki czemu powyższe zmiany również rozwiązały ten problem.


1

Otrzymałem tego rodzaju błąd, gdy wcześniej miałem JDK 1.7 i zainstalowałem JAVA JDK 1.8 i wskazałem zmienne JAVA_HOME i PATH na wersję JAVA 1.8. Kiedy próbuję znaleźć wersję java, pojawia się ten błąd. Ponownie uruchomiłem komputer i działa. Wygląda na to, że po zmodyfikowaniu zmiennych środowiskowych musimy ponownie uruchomić maszynę.


1

Miałem to samo:

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

Wyczyszczenie systemu Windows \ SysWOW64 nie pomaga w systemie Win7

W moim przypadku pomogła instalacja JDK8 offline (z linku )


0

Jeśli skaner antywirusowy (taki jak McAfee) jest uruchomiony, spróbuj:

  1. Wyłącz skaner antywirusowy
  2. Odinstaluj Javę (przez Panel sterowania / Programy i funkcje)
  3. Zainstaluj ponownie Javę (z Java.com )
  4. Ponownie włącz skaner antywirusowy

0

Odinstaluj Javę (przez Panel sterowania / Programy i funkcje)

Zainstaluj Java JRE 7 -> OFFLINE <- Skonfiguruj JAVA_HOME i Path = %JAVA_HOME%/bin;%PATH%


0

Mam Windows 7. Po instalacji mam ten sam problem: PyCharm. Nie byłem zadowolony z PyCharm, więc zdecydowałem się zamiast tego użyć Eclipse. To wtedy odkryłem, że coś poszło nie tak z moim JDK. Kiedyś miałem Java.9.x. Postanowiłem więc go odinstalować i pobrać nowszą wersję (w moim czasie była to Java.11.x. Ten sam problem się utrzymywał. Wykonałem większość kroków opisanych powyżej w poście jak: - Usunięcie wszystkich plików java * .exe, - usuwanie wpisów związanych z Javą z rejestru - Czyszczenie wszystkich niepotrzebnych folderów Java Jednak nic nie pomogło. Wciąż mam coś w systemie, co odnosi się do zepsutej ścieżki Java.

To, co naprawdę przyniosło remedium, to: - Odinstalowano jakąkolwiek wersję JDK, jaką miałem w tej chwili. - Ponownie zainstalowałem ostatnią wersję JDK, którą miałem przed wystąpieniem problemu. - Poprawnie odinstaluj tę wersję. - Zainstaluj jakąkolwiek najnowszą wersję SDK. ..

To wszystko… w tym momencie wszystko wróciło do normy… Poza tym, że Java.11.xx nie naprawiał ścieżki systemowej automatycznie, musiałem to zrobić ręcznie.


0

Postępowałem zgodnie z wieloma odpowiedziami z góry i mój problem został rozwiązany.

Kwestia:

Javac był na 13 z jdk, ale java używał 1.8 z jre, więc java rzucił niekompatybilny błąd runtime

Naprawić:

  1. W Panelu sterowania -> Programy: odinstalowałem 1.8 (o nazwie Java 8 runtime) i NIE dotknąłem drugiej (o nazwie Java (TM) SE Development Kit 13)

  2. Usunięte pliki java.exe, javac.exe i javawc.exe z: a. C: \ Windows \ system32 b. C: \ Windows \ SysWOW64 c. C: \ ProgramData \ Oracle \ Java \ javapath

  3. Zmienna środowiskowa JDK_HOME wskazywała na 13, ale JAVA_HOME wskazywała na 1.8, więc wskazałem JAVA_HOME także na 13, czyli C: \ Program Files \ Java \ jdk-13.0.1

  4. W sekcjach zmiennych użytkownika i zmiennych systemowych znajdowała się zmienna Path. W sekcji ze zmiennymi użytkownika dodałem ciąg% JDK_HOME% - który został automatycznie przetłumaczony na ścieżkę fizyczną. W przypadku tego pod zmiennymi systemowymi usunąłem ścieżkę C: \ ProgramData \ Oracle \ Java \ javapath i dodałem C: \ Program Files \ Java \ jdk-13.0.1 \ bin

Teraz wszystko w porządku! Dziękuję wszystkim, którzy odpowiedzieli, rządzisz!

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.