Java 8 на Mac: одиссея, которая стоит того
Вы открыли этот материал — скорее всего, потому что столкнулись с классической проблемой. Вы скачали Java 8 (JDK 1.8) на свой Mac, запустили установку, а потом... ничего не работает. Терминал пишет java -version и выдаёт "not found", или, что ещё обиднее, показывает Java 14, которую вы ставили полгода назад для эксперимента.
Добро пожаловать в клуб. Вопрос "How to install Java 8 on Mac" — один из самых популярных на Stack Overflow, и это не случайно. macOS (особенно после Catalina и Big Sur) — капризная система, когда дело доходит до старых версий Java. Но не переживайте: мы разберём топ-5 ошибок, которые допускают даже опытные разработчики, и покажем, как их избежать.
Кстати, если вы изучаете Java и хотите понять, почему версия 8 до сих пор так популярна (спойлер: Stream API, лямбды и стабильность), то после установки мы напишем пару строк кода, которые это докажут.
Ошибка №1: Скачивание не той сборки (Oracle vs OpenJDK)
Самая распространённая ловушка. Вы заходите на сайт Oracle, видите кучу кнопок "Download" и качаете JRE вместо JDK. Или наоборот — качаете версию для Linux.
Как правильно?
Для разработки на Java 8 вам нужен JDK (Java Development Kit), а не JRE. JRE — это только среда выполнения, без компилятора javac.
Вариант А (Oracle JDK — классика):
- Перейдите на страницу Oracle JDK 8 Archive.
- Примите лицензионное соглашение (да, придётся залогиниться или создать аккаунт Oracle — это многих бесит).
- Скачайте
jdk-8u351-macosx-x64.dmg(или более новую версию в серии 8uXXX).
Вариант Б (OpenJDK — бесплатно и без аккаунта):
- Используйте Adoptium (бывший AdoptOpenJDK): скачать Temurin 8.
- Выберите macOS, архитектуру x64 (даже на M1/M2 — через Rosetta 2 работает отлично).
- Скачайте
.pkgфайл.
Совет: Для учебных целей и совместимости со старыми проектами берите OpenJDK (Temurin). Oracle JDK 8 больше не получает публичных обновлений безопасности.
Ошибка №2: Игнорирование "шлюзов безопасности" macOS (Gatekeeper)
Вы установили JDK, но при попытке запустить java -version в Терминале получаете:
-bash: java: command not found
Или, что ещё хуже, сообщение: ““java” cannot be opened because the developer cannot be verified.”
Это Gatekeeper — система безопасности macOS. Она блокирует установку пакетов, которые не подписаны Apple или скачаны не из App Store.
Решение:
- Откройте Системные настройки → Безопасность и конфиденциальность.
- Внизу вы увидите сообщение: “Программа заблокирована...” — нажмите кнопку “Открыть всё равно”.
- Если кнопки нет, запустите установщик через правый клик → Открыть (не двойным щелчком).
После этого установка пройдёт гладко.
Ошибка №3: Забыли настроить JAVA_HOME (или настроили не туда)
Это, пожалуй, самая частая проблема на Stack Overflow. Вы установили Java 8, но система продолжает видеть старую версию (или не видит никакой).
Проверка текущей версии:
/usr/libexec/java_home -V
Эта команда покажет все установленные JDK на вашем Mac. Вы должны увидеть что-то вроде:
1.8.0_351 (x86_64) "Oracle Corporation" - "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_351.jdk/Contents/Home
14.0.2 (x86_64) "Oracle Corporation" - "Java SE 14" /Library/Java/JavaVirtualMachines/jdk-14.0.2.jdk/Contents/Home
Видите? У вас может быть несколько версий. Нужно сделать так, чтобы Java 8 была по умолчанию.
Настройка JAVA_HOME (навсегда):
Откройте ваш файл конфигурации shell (если используете Zsh — стандарт на macOS с Catalina):
nano ~/.zshrc
Если у вас старый bash, то:
nano ~/.bash_profile
Добавьте в конец файла следующие строки:
export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)
export PATH=$JAVA_HOME/bin:$PATH
Сохраните (Ctrl+O, Enter) и выйдите (Ctrl+X). Затем выполните:
source ~/.zshrc
Теперь проверьте:
java -version
# Вывод: java version "1.8.0_351"
Работает!
Ошибка №4: Проблемы на Mac с чипом Apple Silicon (M1, M2, M3)
Java 8 вышла задолго до появления M1. Она не имеет нативной поддержки ARM64. Это не значит, что она не работает — просто нужно установить её правильно.
Что делать владельцам MacBook на M1/M2?
- Не качайте "ARM64" версию Java 8 — её не существует в официальных сборках Oracle.
- Скачивайте версию для x64 (Intel). macOS автоматически запустит её через Rosetta 2.
- Если Rosetta 2 не установлена, система предложит это сделать при первом запуске Intel-приложения.
Лично я пользуюсь SDKMAN! — это менеджер версий Java. Он сам скачает правильную сборку:
# Установка