Ошибка 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 ответа

  1. У вас установлено несколько Java?
  2. Что там в разделе реестра? Соответствует ли версия, указанная в разделе реестра, вашему имени папки JDK/JRE? использование regedit команда, чтобы открыть реестр и найти ключ, который вы упомянули в своем вопросе (HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment\CurrentVersion). Очистите / исправьте версию, если вы видите несоответствие.
  3. JAVA_HOME должен быть путь, исключающий bin а также PATH должен включать бен как %JAVA_HOME%\bin
  4. Есть ли повторяющиеся записи в PATH а также дублирование между пользовательскими и системными переменными среды?
  5. Можете ли вы перейти непосредственно (cd) в каталог bin JDK/JRE, где находится исполняемый файл java, и запустить java -version?
  6. Наконец, я надеюсь, что вы смотрели на 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-разрядную версию, что решит проблему.

Другие вопросы по тегам