Если при запуске программы появляется сообщение «Java не установлена» или «A Java Runtime Environment must be available», значит на компьютере отсутствует исполняемая среда Java Runtime Environment либо система не может её найти. Проверить это можно за десять секунд: откройте командную строку и введите java -version — если вместо версии вы видите ошибку, JRE нужно установить или прописать в переменных окружения.
В этой статье разберём, что такое Java Runtime Environment, чем JRE отличается от JDK, откуда безопасно скачивать дистрибутив и как устранить типичные ошибки запуска Java-приложений. Материал ориентирован на Windows, но большинство принципов применимы и к другим системам.
Что такое Java Runtime Environment
Java Runtime Environment (сокращённо JRE) — это программная среда, необходимая для запуска приложений, написанных на языке Java. В её состав входят виртуальная машина Java (JVM), стандартные библиотеки классов и вспомогательные компоненты. Без JRE файл с расширением .jar просто не запустится: операционная система не знает, как его исполнять.
Принцип работы такой: исходный код Java компилируется в промежуточный байт-код, а виртуальная машина переводит его в команды конкретного процессора уже во время выполнения. Именно поэтому одна и та же программа может работать на Windows, Linux и macOS — достаточно установить JRE под нужную платформу.
- ☕ JVM — виртуальная машина, исполняющая байт-код;
- 📚 Стандартные библиотеки классов (коллекции, сеть, ввод-вывод);
- 🔧 Служебные утилиты и файлы конфигурации;
- 🌐 Средства поддержки сетевых протоколов и шифрования.
Чем JRE отличается от JDK и JVM
Термины часто путают, поэтому разложим их по полочкам. JVM — это только виртуальная машина, «двигатель». JRE — это JVM плюс библиотеки, то есть минимальный набор для запуска готовых программ. JDK (Java Development Kit) — полный комплект разработчика: в него входит всё из JRE, а также компилятор javac, отладчик и другие инструменты.
| Компонент | Назначение | Кому нужен |
|---|---|---|
| JVM | Исполнение байт-кода | Входит в JRE и JDK |
| JRE | Запуск готовых Java-программ | Обычным пользователям |
| JDK | Разработка и компиляция | Программистам |
| OpenJDK | Открытая реализация платформы | Альтернатива Oracle-сборке |
Если вам нужно просто запускать приложения — например, Minecraft, бухгалтерские программы или клиенты госуслуг — достаточно JRE или лёгкой сборки OpenJDK. Ставить полный JDK имеет смысл только при написании собственного кода.
Как проверить, установлена ли Java
Прежде чем что-то скачивать, проверьте текущее состояние системы. Откройте командную строку (Win + R → cmd) и выполните:
java -version
Если Java установлена и прописана в PATH, вы увидите строку вида java version "17.0.x" с указанием сборки. Если команда не распознана — либо JRE отсутствует, либо путь к ней не добавлен в переменные окружения. Второй вариант встречается нередко: Java физически есть на диске, но система её «не видит».
Дополнительно можно посмотреть список установленных программ: Параметры → Приложения → Установленные приложения и поиск по слову «Java». Там же видно разрядность и версию пакета.
Где скачать и как установить JRE
Скачивайте дистрибутив только с официальных источников: сайта Oracle или проверенных сборок OpenJDK (например, Eclipse Temurin, Amazon Corretto). Сторонние сайты с «пакетами Java» нередко добавляют в установщик рекламные модули.
⚠️ Внимание: не скачивайте Java с торрентов и «сборников софта». Под видом JRE нередко распространяются вредоносные установщики. Также избегайте устаревших версий вроде Java 8 без крайней необходимости — они не получают актуальных исправлений безопасности.
Порядок установки на Windows стандартный:
☑️ Установка Java Runtime Environment
После установки обязательно закройте и заново откройте командную строку — переменные окружения подхватываются только при новом запуске терминала. Это частая причина ложного вывода «установка не сработала».
Настройка переменных окружения JAVA_HOME и PATH
Некоторые программы (например, серверы приложений и среды разработки) ищут Java не через PATH, а через переменную JAVA_HOME. Если приложение сообщает, что «JAVA_HOME is not set», настройте её вручную.
- Откройте
Панель управления → Система → Дополнительные параметры системы → Переменные среды. - Создайте системную переменную
JAVA_HOMEсо значением — путём к каталогу установки Java (без подкаталогаbin). - В переменную
Pathдобавьте путь к каталогуbinвнутри папки Java. - Сохраните изменения и перезапустите терминал и целевую программу.
Точный путь установки зависит от версии и сборки, поэтому сверяйте его с фактическим содержимым диска, а не копируйте чужие примеры из интернета. Проверить результат можно командой echo %JAVA_HOME% и повторным вызовом java -version.
Типичные ошибки и их решение
Самая частая жалоба — «Could not create the Java Virtual Machine». Возможные причины: повреждённая установка, неверные параметры запуска (например, выделено больше памяти, чем доступно) или конфликт версий. Начните с переустановки JRE и проверки аргументов -Xmx в ярлыке программы.
Ошибка «java не является внутренней или внешней командой» почти всегда означает, что путь к bin отсутствует в PATH. Реже встречается несовпадение разрядности: 32-битная Java с 64-битным приложением (или наоборот). В этом случае установите JRE нужной разрядности.
⚠️ Внимание: не копируйте вручную файлы
java.exeи DLL из чужих папок вSystem32— такие «советы» из старых форумов ломают обновления и создают конфликты версий. Используйте только штатный установщик.
Подробнее про ошибку UnsupportedClassVersionError
Эта ошибка означает, что программа скомпилирована под более новую версию Java, чем установлена у вас. Решение — обновить JRE до требуемой версии. Номер версии класса в тексте ошибки подскажет, какая именно версия нужна.
Обновление и удаление старых версий
Устаревшие версии Java — реальный риск безопасности: через известные уязвимости JVM вредоносные программы могут исполнять код на компьютере. Рекомендуется держать одну актуальную версию и удалять старые через стандартный раздел Установленные приложения.
Перед удалением убедитесь, что ни одна рабочая программа не привязана жёстко к конкретной старой версии — некоторые корпоративные приложения требуют именно её. В таком случае оставьте нужную версию, но отключите у неё браузерный плагин, если он присутствует.
Часто задаваемые вопросы
Нужна ли Java обычному пользователю в 2020-х?
Только если вы запускаете программы, которым она требуется: игры вроде Minecraft, банковские и бухгалтерские клиенты, некоторые утилиты. Если таких приложений нет, устанавливать JRE «про запас» не обязательно.
Чем OpenJDK отличается от Oracle Java?
OpenJDK — открытая реализация платформы Java, а Oracle JDK строится на её основе с дополнительными компонентами и иной лицензией. Для большинства задач сборки OpenJDK (Temurin, Corretto) полностью взаимозаменяемы с Oracle JRE.
Почему после установки Java команда java -version всё равно не работает?
Чаще всего не перезапущена командная строка или путь к каталогу bin не добавлен в переменную PATH. Переоткройте терминал, а если не помогло — настройте переменные окружения вручную, как описано выше.
Можно ли держать несколько версий Java одновременно?
Да, это рабочая схема. Система по умолчанию использует версию, которая первой указана в PATH, а отдельные приложения можно направлять на конкретную версию через их настройки или переменную JAVA_HOME.
Опасно ли обновлять Java, если старая версия нужна рабочей программе?
Само обновление безопасно, но проверьте требования критичных приложений заранее. Если программа привязана к конкретной версии, установите новую параллельно, не удаляя старую, и протестируйте работу.