Lỗi Java khi mở khóa đăng ký


110

Tôi gặp lỗi này khi cố gắng thực hiện bất kỳ điều gì với Java trong dấu nhắc lệnh:

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

Tôi đã cố gắng xóa các thư mục Java và đăng ký một vài ngày trước. Tôi đã khởi động lại máy tính và java vẫn hoạt động tốt, sau đó tôi khởi động lại nó một lần nữa vào ngày hôm nay và bây giờ tôi gặp lỗi này. Tôi đã thử gỡ cài đặt và cài đặt lại nhưng dường như không hiệu quả. Tôi đã cài đặt java JRE mới nhất và đường dẫn được đặt trong các biến môi trường. Bất cứ ai có bất kỳ manh mối làm thế nào để sửa chữa điều này?


Tôi đã cố gỡ cài đặt java thông qua dấu nhắc lệnh và nó làm rối tung trình gỡ cài đặt của tôi. Vì vậy, tôi đã xóa thủ công thư mục và xóa sổ đăng ký liên quan đến nó. Tôi đã khởi động lại và cài đặt lại Java sau đó và nó hoạt động tốt cho đến lần khởi động lại tiếp theo của tôi.
gFu

1
Bạn cố gắng cài đặt lại sau khi khởi động lại làm nó rối tung lên? Có lẽ lần thứ ba là sự quyến rũ
Atreys

Có, tôi có, vẫn không hoạt động.
gFu

Bạn đã thử sao lưu các tệp khác và định dạng lại máy tính của mình chưa? Bạn có thể thực hiện cài đặt Java mới sau đó. Nhưng phương pháp này có thể là quá mức cần thiết
Atreys

1
Bằng cách nào đó, tôi đã giải quyết nó cho vấn đề cụ thể của mình bằng cách tải xuống thời gian chạy mặc dù tôi đã cài đặt JDK. Tôi để điều này ở đây trong trường hợp nó thực sự hiệu quả với bất kỳ ai khác.
Dave

Câu trả lời:


185

Hãy chắc chắn rằng bạn loại bỏ bất kỳ java.exe, javaw.exejavaws.exetừ của bạn Windows\System32thư mục và nếu bạn có một hệ thống x64 (Win 7 64 bit) cũng làm dưới cùng Windows\SysWOW64.

Nếu bạn không thể tìm thấy chúng tại các vị trí này, hãy thử xóa chúng khỏi C:\ProgramData\Oracle\Java\javapath.


7
Sau khi xóa các tệp thực thi "java" khỏi thư mục system32 của mình, tôi phải cài đặt lại JRE. Sau đó, vấn đề của tôi đã được giải quyết. Cảm ơn vì điểm bắt đầu.
dangowans

1
Sau khi cài đặt bản vá bảo mật, tôi không thể mở nhật thực do lỗi này. Cảm ơn rất nhiều! Giải pháp của bạn đã hiệu quả. Nhưng tôi tự hỏi lý do thực sự ở đây là gì.
pvarma

1
Đã làm cho tôi ! Cảm ơn bạn ! Cũng đã phải cài đặt lại JRE.
kbonnelly

1
Các bạn cho mình hỏi tác dụng của các file này trong thư mục system32 là gì?
Rabia Naz khan

chạy "where java" để xem vị trí của các tệp thực thi được đề cập ở trên. Khai thác ở đâu trên C: \ Program Files (x86) \ Common Files \ Oracle \ Java \ javapath
Charis Moutafidis

85

Bạn sẽ tìm thấy một thư mục có tên " Oracle " trên thư mục ProgramData trong ổ đĩa cài đặt windows của bạn. Xóa thư mục. Hy vọng nó sẽ hoạt động. Trong trường hợp của tôi, ổ đĩa cài đặt của tôi là C và đường dẫn của tôi là C: \ ProgramData \ Oracle


@lee, bạn không có gì cả. Rất vui khi biết điều này đang làm việc cho bạn.
Shuvankar Paul

9
Ngoài ra, loại bỏ C:\ProgramData\Oracle\Java\javapathtừ Windows Pathbiến môi trường
Gediminas Rimsa

@GediminasRimsa, tôi không chắc biến môi trường đường dẫn này sẽ xuất hiện trong mọi trường hợp. Nhưng cảm ơn vì nhận xét.
Shuvankar Paul

Tôi đã xóa đường dẫn khỏi các biến môi trường nhưng vẫn phải xóa thư mục Oracle khỏi thư mục ProgramData để nó hoạt động.
Irena Giàu

@GediminasRimsa Tôi thực sự đã phải loại bỏ các biến môi trường sau khi xóa các Oracle Folder trong ProgramData tôi
Alyosha_Karamazov

21

Tôi đã có một vấn đề tương tự. Tôi đã cài đặt bản cập nhật JDK7 1 nhưng không thể sử dụng nó (có thể do tôi tìm thấy JRE6 mà tôi đã xóa sau khi cài đặt JDK7). Không thể gỡ cài đặt JDK7. Giải pháp là thêm các mục đăng ký JRE bằng tay.

[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ạn sẽ phải điều chỉnh những điều trên cho các thư mục và phiên bản của riêng bạn.

Nếu điều này không hữu ích, vẫn có JavaRa http://raproducts.org/wordpress/ .


Tiếc thay, điều này đã không làm việc cho chúng tôi trên Windows Server 2016. Chúng tôi tiếp tục để có được "module quy định không thể tìm được"
Praxiteles

Rất tiếc khi biết điều đó ... hãy thử tất cả các giải pháp khác, tìm kiếm thông báo lỗi ... và nếu bạn sẽ tìm thấy giải pháp, vui lòng chia sẻ nó ở đây hoặc tạo một câu hỏi mới. Tuy nhiên ... "không thể tìm thấy mô-đun được chỉ định" không phải là thông báo lỗi đã được thảo luận trong câu hỏi ban đầu.
Tilman Hausherr

6

Đảm bảo rằng bạn loại bỏ mọi java.exe, javaw.exe và javaws.exe khỏi hệ thống của mình.

  • nếu bạn có hệ thống x32 (Win XP 32 bit) thư mục Windows \ System32

  • nếu bạn có hệ thống x64 (Win 7 64 bit) cũng làm tương tự trong thư mục Windows \ SysWOW64


6

Xóa 3 tệp này có trong cục bộ của bạn tại đường dẫn C: \ ProgramData \ Oracle \ Java \ javapath

java.exe
javaw.exe
javaws.exe

Điều này đã giải quyết vấn đề cho tôi :)


4

Có 3 địa điểm để kiểm tra

  1. Sổ đăng ký HKEY_LOCAL_MACHINE \ SOFTWARE \ JavaSoft \ Java Runtime Environment \ 1.8.0_xxx \ Java
  2. Java Control Panel- Tab Java - View - Path
  3. Biến môi trường - Đường dẫn ($ env: Đường dẫn)

Cả 3 đều phải căn chỉnh (nếu bạn có nhiều đường dẫn chỉ cần loại bỏ những đường dây sai) - đó là tất cả


4

Trên Windows 10, tôi vừa cài đặt JDK và gặp những lỗi này khi kiểm tra phiên bản. Tôi đã phải xóa tất cả các file thực thi bắt đầu với java(ví dụ java.exe, javaw.exejavaws.exe) từ C:\ProgramData\Oracle\Java\javapath. Và sau đó, sau khi xóa, hãy chạy lại trình cài đặt JDK, khởi động lại chương trình đầu cuối của tôi và java -vhoạt động.


Tôi đã phải làm điều này nhưng tôi không cần cài đặt lại bất cứ thứ gì. Xóa các exes đã khắc phục sự cố
Callat 20/02/19

Ditto, xóa những .exe đó đã sửa nó cho tôi.
guymac

Nó cố định trong windows 8 sau deleteing các tập tin
poovaraj

1

Tôi đã gắn thẻ đây là một bình luận nhưng không thể (không có đại diện) chỉ muốn cảm ơn Tilman. Tôi đã cố gắng làm cho PDFsam (Tách và Hợp nhất PDF) hoạt động nhưng không có kết quả.

Khi khởi chạy, nó sẽ xuất hiện lỗi thông báo rằng nó không thể tìm thấy JRE 1.6.0. Tôi có cả hai phiên bản 32 và 64 bit và chúng kiểm tra tốt tại trang web java trong các trình duyệt tương ứng của chúng.

Đã thử gỡ cài đặt / cài đặt lại và khởi động lại nhiều lần cũng như sử dụng JavaRa. Không có may mắn như vậy, vẫn không đi.

Tôi đã xem trong sổ đăng ký sau khi đọc bài đăng này và không có ... \ SOFTWARE \ JavaSoft \ key vì vậy tôi đã thêm từng giá trị chuỗi tương ứng của chúng trỏ đến phiên bản x86 của tôi (PDFsam là một chương trình 32 bit). Điều này đã khắc phục được sự cố đầu tiên nhưng một lỗi xuất hiện về thư viện amd64 cho thấy máy muốn chạy phiên bản 64bit. Vì vậy, tôi đã thay đổi đường dẫn đến 64bit JRE và PDFsam hiện hoạt động.

FYI - Tôi đến đây bằng cách tìm kiếm các khóa đăng ký Java sau khi tôi không thể khởi chạy javaw.exe từ dấu nhắc lệnh (ngay cả sau khi thêm các đường dẫn cần thiết vào đường dẫn hệ thống), việc thực hiện các thay đổi nói trên cũng giải quyết được vấn đề này.


1

Tôi đã gặp phải lỗi này khi tôi đã có JDK 1.7 trước đó và tôi đã cài đặt JAVA JDK 1.8 và chỉ các biến JAVA_HOME và PATH của tôi sang phiên bản JAVA 1.8. Khi tôi cố gắng tìm phiên bản java, tôi gặp lỗi này. Tôi đã khởi động lại máy của mình và nó hoạt động. Có vẻ như chúng ta phải khởi động lại máy sau khi sửa đổi các biến môi trường.


1

Tôi cũng có như vậy:

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

Xóa Windows \ SysWOW64 không giúp ích cho Win7

Trong trường hợp của tôi, nó cài đặt JDK8 ngoại tuyến đã giúp ích (từ liên kết )


0

Trong trường hợp trình quét vi rút (như McAfee) đang chạy, hãy thử:

  1. Tắt trình quét vi rút
  2. Gỡ cài đặt Java (thông qua Bảng điều khiển / Chương trình và Tính năng)
  3. Cài đặt lại Java (từ Java.com )
  4. Bật lại trình quét vi rút

0

Gỡ cài đặt Java (thông qua Bảng điều khiển / Chương trình và Tính năng)

Cài đặt Java JRE 7 -> OFFLINE <- Định cấu hình JAVA_HOME và Path = %JAVA_HOME%/bin;%PATH%


0

Tôi có Windows 7. Tôi gặp sự cố tương tự sau khi cài đặt: PyCharm. Tôi không hài lòng với PyCharm, vì vậy tôi quyết định sử dụng Eclipse thay thế. Đây là lúc tôi phát hiện ra rằng mọi thứ đã xảy ra với JDK của tôi. Tôi đã từng có Java.9.x. Vì vậy, tôi đã quyết định gỡ cài đặt nó và tải phiên bản mới hơn (tại thời điểm của tôi, đó là Java.11.x. Vấn đề tương tự vẫn tiếp diễn. Tôi đã làm theo hầu hết các bước được đề cập ở trên trong bài đăng như: - Xóa tất cả các tệp java * .exe, - xóa các mục liên quan đến Java khỏi sổ đăng ký - Dọn dẹp tất cả các thư mục Java không cần thiết. Tuy nhiên, không có gì giúp ích được. Tôi vẫn có một cái gì đó trong hệ thống đề cập đến tên đường dẫn Java bị hỏng.

Những gì thực sự mang lại biện pháp khắc phục là sau đây: - Gỡ cài đặt phiên bản JDK mà tôi đã từng có vào lúc này. - Cài đặt lại phiên bản JDK cuối cùng mà tôi có trước khi sự cố xảy ra - Gỡ cài đặt phiên bản đó đúng cách. - Cài đặt bất kỳ phiên bản SDK mới nhất nào. ..

Vậy là xong .. lúc này mọi thứ trở lại bình thường ... Ngoại trừ việc Java.11.xx không tự động sửa đường dẫn hệ thống nên tôi phải làm thủ công.


0

Tôi đã làm theo nhiều câu trả lời ở trên và đã giải quyết được vấn đề của mình.

Vấn đề:

Javac đã có trên 13 từ jdk nhưng java đang sử dụng 1.8 từ jre nên java đã gặp lỗi thời gian chạy không tương thích

Sửa chữa:

  1. Trong Bảng điều khiển -> Chương trình: Tôi đã gỡ cài đặt 1.8 (có tên là thời gian chạy Java 8) và KHÔNG chạm vào cái khác (có tên là Bộ phát triển Java (TM) SE 13)

  2. Các tệp java.exe, javac.exe và javawc.exe đã bị xóa khỏi: a. C: \ Windows \ system32 b. C: \ Windows \ SysWOW64 c. C: \ ProgramData \ Oracle \ Java \ javapath

  3. Biến môi trường JDK_HOME đã trỏ đến 13 nhưng JAVA_HOME đã trỏ đến 1.8 vì vậy tôi đã trỏ JAVA_HOME cũng sử dụng 13 là C: \ Program Files \ Java \ jdk-13.0.1

  4. Có một biến Đường dẫn trong cả hai phần Biến người dùng và biến hệ thống. Đối với một trong phần biến người dùng, tôi đã thêm chuỗi% JDK_HOME% - được dịch tự động sang đường dẫn vật lý. Đối với một trong các biến hệ thống, tôi đã xóa đường dẫn C: \ ProgramData \ Oracle \ Java \ javapath và thêm C: \ Program Files \ Java \ jdk-13.0.1 \ bin

Tất cả tốt ngay bây giờ! Cảm ơn tất cả những người đã trả lời, bạn thật tuyệt!

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.