2015-09-20 2 views
0

Я впервые установил JRE и Java-приложения. Позже я установил JDK и узнал, что JRE является частью JDK в качестве подкаталога. Итак, я удалил оригинальную JRE. На этот раз все Java-приложения не запустились. JAVA_HOME правильно настроен для указания на JDK (я могу скомпилировать Java-код). ОС - это Windows 10. Почему JRE, обнаруженная в JDK, не вызвана?Вызов JRE, который находится в JDK

+0

Не ответ, но вы можете попробовать удалить, а затем переустановить JDK. – Kenney

+0

Перезагрузили ли вы систему? И проверьте вашу переменную Path (cmd -> echo% PATH%) – kdoteu

+0

Я предполагаю, что при установке автономной JRE она регистрируется в реестре Windows, в отличие от JRE в JDK, который только что существует. – dunni

ответ

0

Когда вы устанавливаете JDK, у вас есть возможность установить «public JRE» - отдельная установка, которая будет зарегистрирована в Windows независимо от JDK, добавленная в реестр Windows, будет вызываться при вводе java ... в команде и будут использоваться программами, использующими только JRE/java исполняемый файл. Возможность установить «общественное JRE» доступна на этом шаге установки JDK:

JDK installation

С другой стороны, 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.

+0

Работает как шарм. Просто интересно, но ... зачем нужно иметь публичную JRE, если вы устанавливаете полный JDK? – zeb

+0

Ну, это не строго * необходимо * (см. Мой последний абзац), я просто думаю, что они используются в двух разных целях - JDK для разработки (дополнительные инструменты), JRE только для запуска Java-программ (Windows: записи в реестре, браузер плагин, автоматическое обновление). Однако почему JDK не регистрирует «частную JRE» так же, как автономный, публичный JRE регистрируется? Я не знаю. –

Смежные вопросы