Я впервые установил JRE и Java-приложения. Позже я установил JDK и узнал, что JRE является частью JDK в качестве подкаталога. Итак, я удалил оригинальную JRE. На этот раз все Java-приложения не запустились. JAVA_HOME
правильно настроен для указания на JDK (я могу скомпилировать Java-код). ОС - это Windows 10. Почему JRE, обнаруженная в JDK, не вызвана?Вызов JRE, который находится в JDK
ответ
Когда вы устанавливаете JDK, у вас есть возможность установить «public JRE» - отдельная установка, которая будет зарегистрирована в Windows независимо от JDK, добавленная в реестр Windows, будет вызываться при вводе java ...
в команде и будут использоваться программами, использующими только JRE/java
исполняемый файл. Возможность установить «общественное JRE» доступна на этом шаге установки JDK:
С другой стороны, jre
папку внутри дистрибутива JDK является «частной JRE» - не подвержены все ваши Программы Windows, не зарегистрированные в реестре Windows. Если вы устанавливаете только JDK без «общедоступной JRE», исполняемый файл java
не будет найден на пути. «Частная JRE» будет полезна для программ в зависимости от переменной среды JAVA_HOME
, которая должна указывать на корень JDK.
Я рекомендую установить отдельный «общественное JRE», но если вы хотите java
исполняемым быть доступны в консоли, добавьте %JAVA_HOME%/jre/bin
в вашей ОС Windows PATH
(или просто %JAVA_HOME%/bin
использовать java
исполняемый файл из самого JDK). См. here для инструкции по изменению вашей переменной PATH
. Предполагается, что вы установили переменную окружения JAVA_HOME
- если вы этого не сделали, вы можете сделать это в тех же конфигурационных окнах, где вы изменяете свой PATH
.
Работает как шарм. Просто интересно, но ... зачем нужно иметь публичную JRE, если вы устанавливаете полный JDK? – zeb
Ну, это не строго * необходимо * (см. Мой последний абзац), я просто думаю, что они используются в двух разных целях - JDK для разработки (дополнительные инструменты), JRE только для запуска Java-программ (Windows: записи в реестре, браузер плагин, автоматическое обновление). Однако почему JDK не регистрирует «частную JRE» так же, как автономный, публичный JRE регистрируется? Я не знаю. –
- 1. JRE включен в JDK против автономного JRE
- 2. Bundling JDK/JRE
- 3. Почему JDK включает JRE?
- 4. Ошибка JDK и JRE
- 5. JDK, JRE совместимость JAR-
- 6. Кросс-компиляция JRE/JDK
- 7. , интеграция JDK/JRE в Eclipse,
- 8. Где находится JDK в TravisCI?
- 9. JRE JDK и IDE revisited
- 10. Неверный JDK/JRE в Eclipse/Maven?
- 11. В чем разница между jre в jdk и jre 7?
- 12. Требуется ли Leiningen JDK/JRE?
- 13. Установка IBM JDK и JRE
- 14. JDK, JRE, Java: Версия Confusion!
- 15. Oracle JDK устанавливает две JRE?
- 16. JDK JRE upgrade cause issue
- 17. Java JDK и версии JRE
- 18. как поддержать tomcat, jdk, jre?
- 19. Сервер Oracle JRE содержит JDK?
- 20. JRE и JDK не соответствуют
- 21. Как построить JRE JRE из источника (src.zip в JDK)?
- 22. Eclipse работает в JRE, но требуется JDK
- 23. Исходный код JDK/JRE с совпадающим исходным кодом JSSE (SSL) и совпадающим исполняемым JDK/JRE?
- 24. JDK java executable vs JRE executable
- 25. Как получить JRE/JDK с соответствующим источником?
- 26. Какой из них скачать: JDK или JRE?
- 27. Нужен ли мне JDK или только JRE?
- 28. Как создать JDK по умолчанию JRE?
- 29. Вызов шаблона страницы, который находится в подкаталоге
- 30. Вызов контроллера CRUD, который находится в модуле
Не ответ, но вы можете попробовать удалить, а затем переустановить JDK. – Kenney
Перезагрузили ли вы систему? И проверьте вашу переменную Path (cmd -> echo% PATH%) – kdoteu
Я предполагаю, что при установке автономной JRE она регистрируется в реестре Windows, в отличие от JRE в JDK, который только что существует. – dunni