Ошибка Java при открытии раздела реестра "Программное обеспечение \JavaSoft\Java Runtime Environment"
При запуске "Java -версии" в командной строке Windows 7, я получаю это:
Error: opening registry key 'Software\JavaSoft\Java Runtime Environment'
Error: could not find java.dll
Error: Could not find Java SE Runtime Environment.
Я уже проверил переменные среды:
JAVA_HOME = C:\Program Files\Java\jdk1.8.0_212\bin
А также PATH
включает "%JAVA_HOME%
Я также попытался удалить файлы:
java.exe, javaw.exe и javaws.exe в ProgramData\Oracle\JAVA\Javapath
Однако они не будут удалены. Хотя я и администратор.
Я также проверил C:\Windows\System32
а также C:\Windows\SYSWOW64
и не нашел java.exe, javaw.exe или javaws.exe для удаления.
Что еще я могу попробовать?
3 ответа
- У вас установлено несколько Java?
- Что там в разделе реестра? Соответствует ли версия, указанная в разделе реестра, вашему имени папки JDK/JRE? использование
regedit
команда, чтобы открыть реестр и найти ключ, который вы упомянули в своем вопросе (HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment\CurrentVersion
). Очистите / исправьте версию, если вы видите несоответствие. JAVA_HOME
должен быть путь, исключающийbin
а такжеPATH
должен включать бен как%JAVA_HOME%\bin
- Есть ли повторяющиеся записи в
PATH
а также дублирование между пользовательскими и системными переменными среды? - Можете ли вы перейти непосредственно (cd) в каталог bin JDK/JRE, где находится исполняемый файл java, и запустить
java -version
? - Наконец, я надеюсь, что вы смотрели на
C:\Windows\System32
а такжеC:\Windows\SYSWOW64
каталоги и удаленные java.exe и связанные файлы.
Это случилось со мной, когда я удалил старую версию Java Oracle. Раздел реестра был удален, но исполняемый файл Java остался в скрытой папке. Для правильной уборки
(в Windows):
where java
покажет расположение ярлыка, например,C:\ProgramData\Oracle\Java\javapath\java.exe
(обратите внимание, что это скрытая папка).
Предполагая, что вы хотите избавиться от старой версии Java, вы можете удалить эту папку и соответствующую запись пути.
Эта ошибка также появляется, когда используемое вами программное обеспечение является 32-разрядным и у вас установлена 64-разрядная версия Java, которая несовместима с существующим программным обеспечением, с которым вы хотите работать. Вы также можете удалить 64-разрядную версию и установить 32-разрядную версию, что решит проблему.