В моем последнем сообщении в блоге я продемонстрировал решение проблем, связанных с символическими ссылками Oracle Java ( C:\ProgramData\Oracle\Java\javapath\
на компьютерах под управлением Windows) после установки раннего выпуска JDK 9 (сборка 68). это, казалось, мешало автоматической установке более ранних (более стабильных) версий Java. Даже с символическими ссылками, исправленными в C:\ProgramData\Oracle\Java\javapath\
, я все еще не был полностью « вне леса », но все же имел отношение к возвращению к JDK 8 из раннего выпуска JDK 9. У меня был некоторые проблемы с реестром, которые необходимо решить, и в этом посте кратко изложены эти усилия.
1
2
3
4
|
Error: Registry key 'Software\JavaSoft\Java Runtime Environment' \CurrentVersion' has value '1.9' , but '1.8' is required. Error: could not find java.dll Error: Could not find Java SE Runtime Environment. |
Первое предупреждение («Ошибка: раздел реестра« Software \ JavaSoft \ Java Runtime Environment »\ CurrentVersion» имеет значение «1,9», но требуется «1,8». ») Устраняется путем изменения значения описанного ключа реестра (Software \ JavaSoft \ Java Runtime Environment \ CurrentVersion) в точности рекомендованным способом (от 1.9 до 1.8 в моем случае).
На следующем снимке экрана показан редактор реестра моего ноутбука Windows 7 (запущенный из DOS с помощью команды regedit) до того, как я исправил проблему. Обведенная кружком версия («1.9») неверна, и щелчок правой кнопкой мыши по ключу «CurrentVersion» позволил мне выбрать «Изменить», а затем изменить поле значения с 1.9 ″ на «1.8» (см. Как изменить реестр Windows для подробнее об изменении реестра Windows ). Я сделал то же самое для «CurrentVersion» в области «Software Development Kit», как и для показанной области «Java Runtime Environment».
На снимке экрана редактора реестра также отображается проблема, связанная с двумя другими аспектами предупреждающего сообщения («Ошибка: не удалось найти java.dll» и «Ошибка: не удалось найти среду выполнения Java SE».). Как показывает снимок экрана, в «среде выполнения Java» нет области «1.8», как для «1.6», «1.7» и «1.9». Я создал область «1.8» под «Java Runtime Environment» и создал ключи в этой области, адаптированные из ключей «1.7». Результат показан на следующем снимке экрана.
Вы можете заметить, что я удалил записи JDK 9 из реестра. Я сделал это, потому что раньше я экспериментировал только с JDK 9 и теперь был готов вернуться к последней версии JDK 8 для более общего использования. Кроме того, у меня все еще есть доступ к загруженному архивному файлу, из которого я установил JDK 9, и могу использовать его снова, если это необходимо, но я думаю, что я с большей вероятностью загрузлю последнюю сборку JDK 9 (сборка 70 на момент написания этой статьи). ) и установите его, когда я снова буду готов поэкспериментировать с последним JDK 9.
Запуск «java -version» позволяет легко определить, что моя среда выполнения Java работает снова.
Больше нет ошибок реестра при запуске Java! Я также могу сказать, что исправление было успешно применено, потому что запуск JEdit больше не приводит к сообщению, которое я видел ранее, которое воспроизводится здесь:
Плохие или отсутствующие записи реестра JRE / JDK также могут повлиять на Java IDE и другие приложения на основе Java, поэтому хорошо, чтобы все было вычищено.
Возможно, самый простой подход (с точки зрения необходимости очень мало знать о деталях реестра Windows ) для устранения проблем с реестром Java на компьютере с Windows — это следовать советам по удалению всех версий Java из системы и переустановке. Однако это может показаться немного резким, и другие подходы обсуждаются в потоке потока StackOverlow. Ошибка при проверке версии Java: не удалось найти java.dll : переустановка , проверка конфликтующих переменных среды в переменных среды SYSTEM и USER, прямые манипуляции с реестром .
Ссылка: | Очистка реестра Windows после ранней установки JDK 9 от нашего партнера JCG Дастина Маркса из блога Inspired by Actual Events . |