Установка Java 11 на Mac OS шаг за шагом

Как установить java 11 на mac os

Как установить java 11 на mac os

Java 11 является LTS-версией, которая используется для разработки приложений в корпоративной среде и поддерживается большинством современных инструментов. На Mac OS её можно установить несколькими способами: через официальный пакет Oracle, с помощью Homebrew или из репозитория OpenJDK.

Перед установкой стоит проверить наличие уже установленных версий. Для этого в терминале выполните команду: java -version. Если система сообщает об отсутствии Java или показывает устаревшую версию, можно переходить к установке.

Наиболее удобный вариант – Homebrew, так как менеджер пакетов автоматически обновляет и управляет несколькими версиями. Альтернативой является загрузка пакета jdk-11 с сайта Oracle или OpenJDK, что позволяет точнее контролировать используемую сборку.

Важно учитывать, что после установки потребуется настроить переменные окружения. Основные параметры – JAVA_HOME и путь к бинарным файлам. Без этого некоторые программы не смогут корректно определять версию Java.

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

Чтобы убедиться, что Java 11 установлена корректно, используйте встроенные команды терминала:

  • Откройте «Terminal» через Spotlight (Cmd + Space → введите Terminal).
  • Введите команду:
    java -version
  • В ответе должно отображаться:
    java version "11.x.x"

Для проверки установленного пути выполните:

/usr/libexec/java_home -V

Команда выведет список всех установленных версий и их расположение в каталоге /Library/Java/JavaVirtualMachines/.

  1. Найдите строку с Java 11.
  2. Убедитесь, что путь указывает на каталог jdk-11.

При необходимости можно задать Java 11 как активную по умолчанию, добавив в файл ~/.zshrc строку:

export JAVA_HOME=`/usr/libexec/java_home -v 11`

После сохранения изменений выполните:

source ~/.zshrc

Повторная проверка через java -version должна показать именно Java 11.

Удаление старых версий Java с системы

Определите установленные JDK/JRE: /usr/libexec/java_home -V и ls -1 /Library/Java/JavaVirtualMachines/. Запишите точные имена папок (например jdk1.8.0_301.jdk, openjdk-11.0.16.jdk).

Удаление вручную (удаляет сам JDK): sudo rm -rf /Library/Java/JavaVirtualMachines/имя_папки.jdk. Пример: sudo rm -rf /Library/Java/JavaVirtualMachines/jdk1.8.0_301.jdk. После удаления повторно выполните /usr/libexec/java_home -V.

Если JDK установлен через Homebrew:

brew list --cask | grep -i jdk затем brew uninstall --cask <имя_пакета> или для формул: brew uninstall openjdk@11.

Если использовали SDKMAN: sdk list java и sdk uninstall java <идентификатор>.

Удаление компонентов Oracle JRE (если есть): sudo rm -rf /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin, sudo rm -rf /Library/PreferencePanes/JavaControlPanel.prefPane, sudo rm -rf /Library/Application\ Support/Oracle/Java.

Пользовательские расширения и кеши – проверьте перед удалением: ls -la ~/Library/Java. Если нужно удалить: rm -rf ~/Library/Java/Extensions/имя_файла (удаляйте только после проверки содержимого).

Очистите переменные окружения, указывающие на старые JDK: grep -n "JAVA_HOME" ~/.zshrc ~/.bash_profile ~/.bashrc ~/.profile 2>/dev/null. Удалите строки вручную или командой (zsh): sed -i '' '/JAVA_HOME/d' ~/.zshrc, затем source ~/.zshrc или откройте новый терминал.

Удаление записей установщика (receipt) – если хотите убрать запись о пакете: sudo pkgutil --pkgs | grep -i -E 'jdk|java' и sudo pkgutil --forget <package.id>. Замечание: --forget удаляет только receipt, не файлы.

Проверка и фиксация Java 11 как активной: /usr/libexec/java_home -v 11 --exec java -version. Для постоянного JAVA_HOME: export JAVA_HOME=$(/usr/libexec/java_home -v 11) – добавьте в профиль.

Не трогайте каталоги в /System/Library/Java – они защищены SIP; изменение системных каталогов может повредить macOS.

Выбор способа установки: Homebrew или официальный пакет

Для локальной разработки, скриптуемых установок и быстрой смены версий – предпочтителен Homebrew. Для корпоративного развёртывания, когда требуется официальная поддержка, соответствие лицензионным требованиям или точная системная инсталляция в стандартную macOS-папку – выбирайте официальный пакет Oracle (или сертифицированный билд вендора).

Homebrew – конкретные шаги: brew update, brew install openjdk@11. Добавьте в оболочку: echo "export PATH=\"$(brew --prefix)/opt/openjdk@11/bin:$PATH\"" >> ~/.zshrc (или ~/.bash_profile). Для того чтобы JDK был виден стандартным macOS-инструментам, выполните: sudo ln -sfn "$(brew --prefix)/opt/openjdk@11/libexec/openjdk.jdk" /Library/Java/JavaVirtualMachines/. Проверка: java -version и /usr/libexec/java_home -v11.

Homebrew – практические преимущества и ограничения: легко автоматизируется в CI/CD и скриптах, управление версиями с помощью brew pin или инструментов jenv/sdkman; обновления выполняются командой brew upgrade openjdk@11. Минус: по умолчанию Homebrew ставит бинарные файлы в префикс Homebrew (используйте $(brew --prefix) для корректных путей), и некоторые GUI-программы могут ожидать JDK именно в /Library (решается командой связывания выше).

Официальный пакет Oracle – конкретные шаги: скачайте .dmg/.pkg для Java SE 11 с сайта поставщика, запустите инсталлятор; после установки JDK появится в каталоге /Library/Java/JavaVirtualMachines/jdk-11.0.x.jdk. Проверка: java -version и /usr/libexec/java_home -v11. Обратите внимание: перед использованием в продакшене проверьте лицензионные условия Oracle и требования к подписке/поддержке.

Сравнение по ключевым критериям: обновления – Homebrew: brew upgrade, официальный пакет: ручная загрузка инсталлятора; поддержка – официальный пакет даёт вендорскую подписку/патчи; совместимость – OpenJDK из Homebrew полностью покрывает Java SE API для большинства приложений; системная интеграция – официальный .dmg устанавливает JDK в стандартную macOS-папку сразу.

Практическое правило выбора: если нужно быстро развернуть и часто менять JDK – ставьте через Homebrew; если требуется официальная поддержка, коммерческая лицензия или нейтивная установка в /Library – используйте официальный пакет. При необходимости множественных JDK в рабочих окружениях комбинируйте Homebrew с jenv или sdkman для удобного переключения.

Установка Homebrew при его отсутствии

Установка Homebrew при его отсутствии

Для установки Homebrew на macOS откройте Terminal и выполните следующую команду:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

После выполнения скрипта необходимо добавить Homebrew в переменные окружения. Для этого используйте команду в зависимости от используемой оболочки:

Оболочка Команда для добавления Homebrew
zsh (по умолчанию в macOS Catalina и новее) echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zshrc
bash echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.bash_profile

Примените изменения с помощью команды source ~/.zshrc или source ~/.bash_profile.

Установка Java 11 через Homebrew

Установка Java 11 через Homebrew

Обновите Homebrew и установите OpenJDK 11: brew update && brew install openjdk@11. :contentReference[oaicite:0]{index=0}

OpenJDK установлен как keg-only – Homebrew не создаёт системных симлинков по умолчанию. Чтобы инструменты и IDE видели JDK, используйте путь внутри префикса Homebrew: $(brew --prefix)/opt/openjdk@11/libexec/openjdk.jdk/Contents/Home, либо создайте системный симлинк в /Library/Java/JavaVirtualMachines. :contentReference[oaicite:1]{index=1}

Добавьте в профиль оболочки (пример для zsh):
echo 'export PATH="$(brew --prefix)/opt/openjdk@11/bin:$PATH"' >> ~/.zshrc
echo 'export JAVA_HOME="$(brew --prefix)/opt/openjdk@11/libexec/openjdk.jdk/Contents/Home"' >> ~/.zshrc
Если вы используете bash, замените ~/.zshrc на ~/.bash_profile. Примените конфигурацию: source ~/.zshrc или откройте новый терминал. :contentReference[oaicite:2]{index=2}

Если требуется системный симлинк (чтобы /usr/libexec/java_home и некоторые GUI-приложения определяли JDK), выполните одну из двух опций:
sudo ln -sfn "$(brew --prefix)/opt/openjdk@11/libexec/openjdk.jdk" /Library/Java/JavaVirtualMachines/openjdk-11.jdk
или (менее предпочтительно) принудительно связать в префикс Homebrew: brew link --force --overwrite openjdk@11. Используйте осторожно – возможны конфликты с системными версиями. :contentReference[oaicite:3]{index=3}

Альтернатива (Adoptium/Temurin): brew install --cask temurin@11. Temurin устанавливается в /Library/Java/JavaVirtualMachines и обычно обнаруживается через /usr/libexec/java_home -v11. :contentReference[oaicite:4]{index=4}

Проверка: java -version и javac -version – обе команды должны возвращать версию, начинающуюся с 11 (например, openjdk version "11.x.x"). При ошибках выполните brew info openjdk@11 для подсказок и caveats. :contentReference[oaicite:5]{index=5}

::contentReference[oaicite:6]{index=6}

Загрузка и установка Java 11 с официального сайта Oracle

Загрузка и установка Java 11 с официального сайта Oracle

Перейдите на страницу загрузки Oracle по адресу: https://www.oracle.com/java/technologies/javase/jdk11-archive-downloads.html.

Выберите дистрибутив для macOS с расширением dmg, соответствующий вашей архитектуре (x64 или ARM64 для процессоров Apple Silicon).

Нажмите на ссылку загрузки, примите лицензионное соглашение и дождитесь завершения скачивания установочного пакета.

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

Настройка переменной окружения JAVA_HOME

После установки Java 11 необходимо указать системе путь к JDK. Для этого используется переменная окружения JAVA_HOME. Проверить путь можно командой:

/usr/libexec/java_home -v 11

Чтобы переменная была доступна при каждом запуске терминала, добавьте строку в конфигурационный файл оболочки. Для zsh (по умолчанию в macOS Catalina и новее):

echo 'export JAVA_HOME=$(/usr/libexec/java_home -v 11)' >> ~/.zshrc

Для bash (актуально в старых версиях macOS):

echo 'export JAVA_HOME=$(/usr/libexec/java_home -v 11)' >> ~/.bash_profile

Примените изменения командой:

source ~/.zshrc или source ~/.bash_profile

Проверьте настройку:

echo $JAVA_HOME

Оболочка Файл конфигурации Команда для применения
zsh ~/.zshrc source ~/.zshrc
bash ~/.bash_profile source ~/.bash_profile

Проверка работоспособности Java 11 после установки

Проверка работоспособности Java 11 после установки

После завершения установки убедитесь, что система корректно определяет установленную версию Java. Для этого выполните последовательные действия:

  1. Откройте терминал (Spotlight → Terminal).
  2. Введите команду:
    java -version
  3. openjdk version "11.0.23" 2025-04-16
  4. Дополнительно проверьте путь к исполняемому файлу:
    which java

    Ожидаемый результат – каталог /usr/bin/java с перенаправлением на установленный JDK.

  5. Проверьте переменную окружения:
    echo $JAVA_HOME

    Значение должно указывать на папку /Library/Java/JavaVirtualMachines/jdk-11...

Для проверки компилятора создайте файл Hello.java со следующим содержимым:

public class Hello {
public static void main(String[] args) {
System.out.println("Java 11 работает");
}
}
  • Скомпилируйте:
    javac Hello.java
  • Запустите:
    java Hello
  • При корректной установке терминал выведет: Java 11 работает

Вопрос-ответ:

Как проверить, установлена ли Java на Mac и какая версия используется?

Для проверки установленной версии Java откройте Терминал и введите команду java -version. Она покажет текущую версию установленной Java. Если система ответит, что команда не найдена, это значит, что Java на устройстве не установлена. Также можно проверить наличие JDK через команду javac -version, которая отображает версию компилятора Java.

Какие шаги нужно выполнить, чтобы загрузить Java 11 на Mac?

Сначала необходимо зайти на официальный сайт Oracle или на страницу с дистрибутивами OpenJDK. Там выбирается пакет для macOS с нужной версией Java 11. После скачивания открывается установочный файл с расширением .dmg. Следуя подсказкам установщика, нужно перенести Java в папку /Library/Java/JavaVirtualMachines/ и завершить процесс установки.

Как настроить переменную окружения JAVA_HOME на Mac для Java 11?

После установки Java 11 нужно указать путь к ней через переменную окружения JAVA_HOME. Для этого откройте Терминал и отредактируйте файл ~/.zshrc (или ~/.bash_profile для старых версий shell). Добавьте строку: export JAVA_HOME=$(/usr/libexec/java_home -v 11) и сохраните изменения. После этого выполните команду source ~/.zshrc, чтобы обновить настройки, и убедитесь, что echo $JAVA_HOME показывает путь к Java 11.

Почему после установки Java 11 Mac продолжает показывать другую версию?

Чаще всего это связано с тем, что системная переменная JAVA_HOME указывает на старую версию, либо предыдущие версии Java остаются в системе и имеют приоритет. Необходимо убедиться, что переменная окружения правильно настроена, а команда java -version вызывается именно из установленного JDK 11. Иногда помогает удаление старых версий или переустановка JDK с правильной настройкой путей.

Можно ли использовать Java 11 для запуска программ, написанных под более старые версии?

Да, большинство приложений, созданных для Java 8 и 9, работают на Java 11, так как она сохраняет обратную совместимость. Однако некоторые устаревшие API могут быть удалены или изменены, поэтому при запуске старых программ иногда требуется обновить код или использовать опции компиляции, которые позволяют работать с предыдущими версиями.

Ссылка на основную публикацию