Java Runtime на macOS: установка, настройка и решение проблем

Ошибка «No Java runtime present, requesting install» при запуске приложения на Mac означает, что в системе отсутствует установленная среда Java Runtime Environment (JRE) либо macOS не может найти её по стандартным путям. Это одна из самых частых проблем при запуске программ вроде Minecraft, корпоративных утилит или старых версий Android Studio на свежей системе.

Разобраться в ситуации несложно, если понимать, как macOS работает с Java. В современных версиях системы среда выполнения не предустановлена — её нужно ставить отдельно, причём существует несколько дистрибутивов от разных поставщиков. В этой статье разберём проверку текущей версии, способы установки, настройку переменной JAVA_HOME и типичные ошибки.

Проверка установленной версии Java

Первое действие — выяснить, установлена ли Java вообще. Откройте Терминал (через Spotlight или папку «Программы → Утилиты») и выполните команду:

java -version

Если среда установлена, в ответе появится строка с номером версии и названием поставщика, например OpenJDK или Oracle. Если Java отсутствует, система покажет диалог с предложением установить её либо выдаст сообщение об отсутствующей среде выполнения.

Для более детальной диагностики полезна вторая команда — она показывает все установленные в системе виртуальные машины Java и их расположение:

/usr/libexec/java_home -V
  • 🔍 Пустой вывод java_home — Java не установлена вообще
  • 📦 Несколько строк в выводе — установлено несколько версий, можно переключаться между ними
  • ⚙️ Ошибка «Unable to find any JVMs» — среда отсутствует либо установлена нестандартным способом

Чем JRE отличается от JDK и что выбрать

Прежде чем скачивать установщик, стоит понять разницу между двумя пакетами. JRE (Java Runtime Environment) — это только среда выполнения: она позволяет запускать готовые Java-программы, но не содержит инструментов разработки. JDK (Java Development Kit) включает JRE плюс компилятор, отладчик и прочие утилиты для разработчиков.

Если вам нужно просто запустить приложение, которое требует Java, достаточно JRE. Однако на практике проще поставить JDK: многие современные дистрибутивы распространяются именно в виде JDK, а разница в занимаемом месте некритична. Программы от этого не пострадают — среда выполнения входит в состав JDK.

КритерийJREJDK
НазначениеЗапуск Java-приложенийЗапуск и разработка
СоставВиртуальная машина, библиотекиJRE + компилятор, отладчик
Кому подходитОбычным пользователямРазработчикам, студентам
ДоступностьНе все поставщики выпускают отдельноЕсть у всех поставщиков

Способы установки Java на macOS

Существует несколько поставщиков дистрибутивов Java, и все они работают на Mac. Наиболее известны Oracle JDK, Eclipse Temurin (бывший AdoptOpenJDK), Amazon Corretto и Microsoft OpenJDK. Функционально для запуска приложений они взаимозаменяемы — выбирайте любой из проверенных источников.

Самый гибкий способ установки — через пакетный менеджер Homebrew. Если он у вас установлен, достаточно одной команды:

brew install --cask temurin

Альтернатива — классический установщик. Скачайте .pkg или .dmg файл с официального сайта выбранного поставщика, откройте его и следуйте шагам мастера установки. После завершения снова выполните java -version, чтобы убедиться, что система увидела новую среду.

⚠️ Внимание: скачивайте Java только с официальных сайтов поставщиков. Сторонние «сборки» и установщики с файлообменников могут содержать вредоносное ПО или устаревшие версии с известными уязвимостями.

☑️ Установка Java на macOS — пошагово

Выполнено: 0 / 5
📊 Каким способом вы устанавливали Java на Mac?
Через Homebrew
Установщиком .pkg с сайта
Вместе со средой разработки (IDE)
Java ещё не установлена

Настройка переменной JAVA_HOME

Некоторые приложения и инструменты сборки (например, Maven или Gradle) ищут Java не через системный путь, а через переменную окружения JAVA_HOME. Если она не задана, программа может сообщать об отсутствии Java, даже когда та установлена.

Чтобы узнать путь к активной версии, используйте уже знакомую утилиту:

/usr/libexec/java_home

Полученный путь нужно добавить в конфигурационный файл командной оболочки. По умолчанию в современных версиях macOS используется zsh, поэтому настройки прописываются в файле ~/.zshrc. Добавьте туда строку:

export JAVA_HOME=$(/usr/libexec/java_home)

После сохранения файла перезапустите Терминал или выполните source ~/.zshrc, чтобы изменения вступили в силу. Проверить результат можно командой echo $JAVA_HOME — она должна вывести путь к каталогу Java.

Типичные ошибки и их решение

Даже после установки Java пользователи сталкиваются с характерными проблемами. Разберём самые частые сценарии.

«No Java runtime present» при установленной Java. Обычно это значит, что приложение ищет устаревшую системную Java 6 от Apple, которой больше нет в macOS. Возможное решение — установить актуальную версию JDK/JRE от современного поставщика. Если программа жёстко привязана к старой версии, проверьте на сайте разработчика, есть ли обновлённая сборка приложения.

Приложение не запускается на Mac с чипом Apple Silicon. Некоторые старые Java-программы собраны только под архитектуру Intel. В таком случае нужна версия Java под ARM64 (её предлагают Temurin, Oracle и другие) либо запуск через транслятор Rosetta 2, если он установлен в системе.

Конфликт нескольких версий. Когда установлено несколько JDK, приложение может подхватывать не ту версию. Проверьте вывод /usr/libexec/java_home -V и при необходимости явно задайте нужную версию в JAVA_HOME.

⚠️ Внимание: не удаляйте каталоги Java вручную из /Library/Java/JavaVirtualMachines/, пока не убедитесь, что от них не зависят установленные программы. Для удаления конкретной версии используйте инструкции поставщика дистрибутива.
Где физически хранится Java в macOS

Установленные через стандартные пакеты JDK и JRE размещаются в каталоге /Library/Java/JavaVirtualMachines/. Каждая версия лежит в отдельной подпапке вида jdk-17.jdk или temurin-21.jdk. Точный путь всегда можно узнать командой /usr/libexec/java_home, не разбирая структуру каталогов вручную.

Обновление и удаление Java

Обновление зависит от способа установки. Если Java поставлена через Homebrew, достаточно выполнить brew upgrade — менеджер подтянет свежую версию. При установке через .pkg-пакет нужно скачать новый установщик с сайта поставщика и повторить процедуру.

Для удаления конкретной версии, установленной пакетом, обычно достаточно удалить соответствующий каталог из /Library/Java/JavaVirtualMachines/ с правами администратора. Точные шаги могут отличаться у разных поставщиков, поэтому перед удалением сверьтесь с официальной документацией вашего дистрибутива.

Регулярное обновление важно не только ради новых функций: в старых версиях Java периодически находят уязвимости, которые закрываются патчами. Если приложение позволяет работать с актуальной версией, лучше не задерживаться на устаревших выпусках.

Часто задаваемые вопросы

Нужна ли Java на Mac обычному пользователю?

Только если какое-то из ваших приложений её требует. macOS не поставляется с предустановленной Java, и большинство программ работает без неё. Если ни одно приложение не просит Java — устанавливать её не обязательно.

Какая версия Java нужна для Minecraft на macOS?

Современные версии игры используют встроенную среду выполнения, которую лаунчер скачивает автоматически. Отдельная установка Java обычно требуется только для модов, серверов или старых версий игры — уточните требования конкретного модпака.

Чем OpenJDK отличается от Oracle JDK?

OpenJDK — открытая эталонная реализация Java. Oracle JDK основан на ней же, но распространяется на условиях коммерческой лицензии Oracle. Для запуска приложений и большинства задач разработки разницы нет — подойдут бесплатные сборки вроде Temurin или Corretto.

Почему после установки java -version всё равно показывает ошибку?

Возможные причины: установка не завершилась корректно, терминал не перезапущен после изменения PATH, либо среда установлена нестандартным способом. Проверьте вывод /usr/libexec/java_home -V — если он пуст, Java в системе не зарегистрирована и установку нужно повторить.

Можно ли держать несколько версий Java одновременно?

Да, macOS это поддерживает: каждая версия лежит в отдельном каталоге. Переключение между ними выполняется через переменную JAVA_HOME с указанием нужной версии командой /usr/libexec/java_home -v номер_версии.