Kayıt defteri anahtarı açılırken Java Hatası


110

Komut isteminde Java ile herhangi bir şey yapmaya çalıştığımda bu hatayı alıyorum:

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

Birkaç gün önce Java dizinlerini ve kayıt defterini silerek uğraştım. Bilgisayarı yeniden başlattım ve java hala iyi çalışıyordu, sonra bugün tekrar başlattım ve şimdi bu hatayı alıyorum. Kaldırmayı ve yeniden yüklemeyi denedim ama bu işe yaramıyor. En son java JRE yükledim ve ortam değişkenlerinde yol ayarlıyım. Bunu nasıl düzelteceğine dair bir fikri olan var mı?


Java'yı komut istemi aracılığıyla kaldırmaya çalıştım ve kaldırıcımı bozdu. Bu yüzden klasörü manuel olarak sildim ve onunla ilgili kayıtları sildim. Bundan sonra Java'yı yeniden başlattım ve yeniden yükledim ve bir sonraki yeniden başlatmama kadar iyi çalıştı.
gFu

1
Yeniden başlatma işlemi berbat ettikten sonra yeniden yüklemeye mi çalışıyorsunuz? Belki üçüncü kez cazibe
Atreys

Evet var, hala çalışmıyor.
gFu

Diğer dosyalarınızı yedeklemeyi ve bilgisayarınızı yeniden biçimlendirmeyi denediniz mi? Bundan sonra muhtemelen yeni bir Java yüklemesi yapabilirsiniz. Ancak bu yöntem aşırı olabilir
Atreys

1
Her nasılsa, JDK zaten kurulu olmasına rağmen çalışma zamanını indirerek özel sorunum için çözdüm. Başkası için gerçekten işe yaraması durumunda bunu burada bırakıyorum.
Dave

Yanıtlar:


185

Emin herhangi kaldırmak olun java.exe, javaw.exeve javaws.exesenin dan Windows\System32klasöre ve bir x 64 sistemini (Win 7 64 bit) varsa aynı under yapmak Windows\SysWOW64.

Bunları bu konumlarda bulamazsanız, silmeyi deneyin C:\ProgramData\Oracle\Java\javapath.


7
"Java" yürütülebilir dosyalarını system32 klasörümden kaldırdıktan sonra, JRE'yi yeniden yüklemem gerekti. Ondan sonra sorunum çözüldü. Başlangıç ​​noktası için teşekkürler.
dangowans

1
Bir güvenlik yaması kurulumundan sonra bu hata nedeniyle tutulmayı açamadım. Çok teşekkürler! Çözümünüz işe yaradı. Ama buradaki gerçek sebebin ne olduğunu merak ediyorum.
pvarma

1
Benim için çalıştı! Teşekkür ederim ! Ayrıca JRE'yi yeniden yüklemek zorunda kaldı.
kbonnelly

1
Bu dosyaların system32 klasöründeki etkisinin ne olduğunu söyleyebilir misiniz?
Rabia Naz khan

Yukarıda bahsedilen çalıştırılabilir dosyaların konumunu görmek için "where java" komutunu çalıştırın. C: \ Program Files (x86) \ Common Files \ Oracle \ Java \ javapath
Charis Moutafidis

85

Windows kurulu sürücünüzdeki ProgramData klasöründe " Oracle " adlı bir klasör bulacaksınız . Klasörü çıkarın. Umarım işe yarar. Benim durumumda kurulum sürücüm C ve yolum C: \ ProgramData \ Oracle


@lese hoş geldiniz. Bunun sizin için çalıştığını duymak güzel.
Shuvankar Paul

9
Alternatif olarak, C:\ProgramData\Oracle\Java\javapathWindows Pathortam değişkeninden kaldırın
Gediminas Rimsa

@GediminasRimsa, bu yol ortam değişkeninin her durumda mevcut olacağından emin değilim. Ama yorum için teşekkürler.
Shuvankar Paul

Yolu çevresel değişkenlerden kaldırdım, ancak yine de çalışması için Oracle klasörünü ProgramData klasöründen kaldırmam gerekiyordu.
Irena Rich

@GediminasRimsa Aslında Program
Verimdeki

21

Benzer bir problemim vardı. JDK7 güncelleme 1'i yükledim ancak kullanamadım (muhtemelen JDK7'yi yükledikten sonra sildiğim bir JRE6 bulduğum için). JDK7'yi kaldırmak imkansızdı. Çözüm, JRE kayıt defteri girdilerini elle eklemekti.

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

Yukarıdakileri kendi dizinlerinize ve sürümünüze göre ayarlamanız gerekir.

Bu işe yaramazsa, hala JavaRa http://raproducts.org/wordpress/ var .


Maalesef bu, Windows Server 2016'da bizim için işe yaramadı. "Belirtilen modül bulunamadı"
mesajını

Bunu duyduğuma üzüldüm ... diğer tüm çözümleri deneyin, hata mesajını arayın ... ve bir çözüm bulursanız, lütfen burada paylaşın veya yeni bir soru oluşturun. Ancak ... "belirtilen modül bulunamadı", orijinal soruda tartışılan hata mesajı değil.
Tilman Hausherr

6

Sisteminizden java.exe, javaw.exe ve javaws.exe dosyalarını kaldırdığınızdan emin olun.

  • bir x32 sisteminiz varsa (Win XP 32 bit) Windows \ System32 klasörünüz

  • Bir x64 sisteminiz varsa (Win 7 64 bit), Windows \ SysWOW64 klasörü altında da aynısını yapın


6

Yerelinizde bulunan bu 3 dosyayı C: \ ProgramData \ Oracle \ Java \ javapath yolunda silin

java.exe
javaw.exe
javaws.exe

Bu benim için sorunu çözdü :)


4

Kontrol edilecek 3 yer var

  1. Kayıt HKEY_LOCAL_MACHINE \ SOFTWARE \ JavaSoft \ Java Runtime Environment \ 1.8.0_xxx \ JavaHome
  2. Java Denetim Masası - Java sekmesi - Görünüm - Yol
  3. Ortam Değişkenleri - Yol ($ env: Yol)

Üçünün de hizalanması gerekir (birden fazla girişiniz varsa, yanlış olanları kaldırın) - hepsi bu


4

Windows 10'da JDK'yı yeni yükledim ve sürümü kontrol ederken bu hataları aldım. java(Yani java.exe, javaw.exeve javaws.exe) ile başlayan tüm çalıştırılabilir dosyaları silmek zorunda kaldım C:\ProgramData\Oracle\Java\javapath. Ve sonra, silindikten sonra, JDK yükleyicisini yeniden çalıştırın, terminal programımı yeniden başlatın ve java -vçalışır.


Bunu yapmak zorundaydım ama hiçbir şeyi yeniden yüklememe gerek yoktu.
Exes'i

Ditto, bu .exe'leri silmek benim için sorunu çözdü.
guymac

Bu dosyaları
sildikten

1

Bunu bir yorum olarak etiketleyebilirdim ama (temsilcisi yok) sadece Tilman'a teşekkür etmek istedim. Boşuna çalışmak için PDFsam'i (PDF Bölme ve Birleştirme) almaya çalışıyordum.

Başlatma sırasında, JRE 1.6.0'ı bulamadığını belirten bir hata üretecektir. Hem 32 hem de 64 bit sürümlerim var ve tarayıcılarında java web sitesinde iyi bir şekilde kontrol ediyorlar.

JavaRa'nın yanı sıra tekrar tekrar kaldırmayı / yeniden yüklemeyi ve yeniden başlatmayı denedim. Böyle bir şans yok, hala devam etmiyorum.

Bu yazıyı okuduktan sonra kayıt defterine baktım ve ... \ SOFTWARE \ JavaSoft \ key yoktu, bu yüzden her birini x86 sürümüme işaret eden ilgili dize değerleriyle ekledim (PDFsam bir 32bit programdır). Bu, ilk sorunu aştı, ancak makinenin 64 bit sürümünü çalıştırmak istediğini düşündüren amd64 kitaplıklarıyla ilgili bir hata çıktı. Bu yüzden 64bit JRE'ye giden yolları değiştirdim ve PDFsam şimdi çalışıyor.

Bilginize - javaw.exe'yi komut isteminden başlatamadığımda (sistem yoluna gerekli yolları ekledikten sonra bile) Java kayıt defteri anahtarlarını arayarak geldim ve yukarıda belirtilen değişiklikleri de çözdüm.


1

Daha önce JDK 1.7'ye sahip olduğumda bu tür bir hata aldım ve JAVA JDK 1.8'i kurdum ve JAVA_HOME ve PATH değişkenlerimi JAVA 1.8 sürümüne işaret ettim. Java sürümünü bulmaya çalıştığımda bu hatayı aldım. Makinemi yeniden başlattım ve çalışıyor. Görünüşe göre ortam değişkenlerini değiştirdikten sonra makineyi yeniden başlatmamız gerekiyor.


1

Ben de aynısına sahiptim:

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

Windows \ SysWOW64'ü temizlemek Win7 için yardımcı olmuyor

Benim durumumda, JDK8'i çevrimdışı yüklemek yardımcı oldu ( bağlantıdan )


0

Bir virüs tarayıcısının (McAfee gibi) çalışması durumunda şunları deneyin:

  1. Virüs tarayıcısını devre dışı bırakın
  2. Java'yı Kaldırma (Denetim Masası / Programlar ve Özellikler aracılığıyla)
  3. Java'yı yeniden yükleyin ( Java.com'dan )
  4. Virüs tarayıcıyı yeniden etkinleştirin

0

Java'yı Kaldırma (Denetim Masası / Programlar ve Özellikler aracılığıyla)

Java JRE 7'yi yükleyin -> ÇEVRİMDIŞI <- JAVA_HOME ve Yolu yapılandırın = %JAVA_HOME%/bin;%PATH%


0

Windows 7 kullanıyorum. Yükledikten sonra da aynı sorunu yaşıyorum: PyCharm. PyCharm'dan memnun kalmadım, bu yüzden onun yerine Eclipse kullanmaya karar verdim. Bu, JDK'mda bazı şeylerin ters gittiğini keşfettiğim zamandı. Java.9.x kullanıyordum. Bu yüzden onu kaldırmaya ve daha yeni sürümü almaya karar verdim (benim zamanımda Java.11.x idi. Aynı sorun devam etti. Gönderide yukarıda belirtilen adımların çoğunu şu şekilde izledim: - Tüm java * .exe dosyalarını kaldırma, - Java ile ilgili girişleri kayıt defterinden kaldırmak - Tüm gereksiz Java klasörlerini temizlemek.Ancak hiçbir şey yardımcı olmadı.Sistemde hala bozuk Java yol adına atıfta bulunan bir şey vardı.

Gerçekten çare getiren şey şudur: - Şu anda sahip olduğum JDK sürümlerinden biri kaldırıldı. - Sorun ortaya çıkmadan önceki son JDK sürümünü yeniden yükledim - Bu sürümü düzgün bir şekilde kaldırın. - SDK'nın en son sürümünü yükleyin. ..

İşte bu .. bu noktada her şey normale döndü ... Java.11.xx'in sistem yolunu otomatik olarak düzeltmemesi dışında, manuel olarak yapmak zorunda kaldım.


0

Yukarıdan birden fazla yanıtı takip ettim ve sorunum çözüldü.

Konu:

Javac, jdk'den 13'teydi ancak java, jre'den 1.8 kullanıyordu, bu yüzden java, uyumsuz çalışma zamanı hatası attı

Düzeltme:

  1. Denetim Masası altında -> Programlar: 1.8'i (Java 8 çalışma zamanı olarak adlandırılır) kaldırdım ve diğerine (Java (TM) SE Geliştirme Kiti 13 adında) DOKUNMADIM

  2. Java.exe, javac.exe ve javawc.exe dosyaları şuradan silindi: a. C: \ Windows \ system32 b. C: \ Windows \ SysWOW64 c. C: \ ProgramData \ Oracle \ Java \ javapath

  3. JDK_HOME ortam değişkeni 13'ü gösteriyordu ancak JAVA_HOME 1.8'i gösteriyordu, bu yüzden JAVA_HOME'u C: \ Program Files \ Java \ jdk-13.0.1 olan 13'ü de kullanması için işaret ettim.

  4. Hem Kullanıcı değişkenleri hem de sistem değişkenleri bölümlerinin altında bir Yol değişkeni vardı. Kullanıcı değişkenleri bölümünden biri için, fiziksel yola otomatik olarak çevrilen% JDK_HOME% dizesini ekledim. Sistem değişkenleri altındaki biri için C: \ ProgramData \ Oracle \ Java \ javapath yolunu sildim ve C: \ Program Files \ Java \ jdk-13.0.1 \ bin ekledim

Şimdi her şey yolunda! Cevaplayan tüm insanlara teşekkürler, harikasın!

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.