Установка Java на OS X 10.9 (Mavericks)

Я установил JDK на Mac OS X v10.8 (Горный лев). Когда я обновил его до Mac X v10.9 (Mavericks) и запустил java -version в терминале, он показал:

Отсутствует среда выполнения Java, запрашивающая установку.

Затем я вручную установил JDK (1.7) на свой Mac. Кажется, что установка работала нормально. Когда установка была завершена, я открыл терминал и набрал java -version. Он также показал ту же ошибку:

Отсутствует среда выполнения Java, запрашивающая установку.

Как я могу решить эту проблему?

Ответ 1

Новые Mavericks (10.9) показали мне "Requesting install", но ничего не произошло.

Решением было вручную загрузить и установить официальный пакет Java для OS X, который находится в Java для OS X 2013-005дел > .

Обновление: Как упоминалось в комментариях ниже, существует более новая версия этого же пакета:

Java для OS X 2014-001

Java для OS X 2014-001 (Исправление мертвой строки выше)

Java для OS X 2014-001 включает улучшения установки и заменяет все предыдущие версии Java для OS X. Этот пакет устанавливает ту же версию Java 6, которая включена в Java для OS X 2013-005.

Ответ 2

Если вы хотите установить последнюю официальную JRE из Oracle, вы можете получить ее там, установить и экспортировать новый JAVA_HOME в терминал.

  • Откройте терминал
  • java -version выдает сообщение об ошибке и всплывающее окно
  • Получить JRE dmg на http://www.oracle.com/technetwork/java/javase/downloads/index.html
  • Установите его
  • В терминале введите: export JAVA_HOME="/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home"
  • java -version теперь дает вам java version "1.7.0_45"

Это самый чистый способ, который я нашел для установки последней версии JRE.

Вы можете добавить строку export JAVA_HOME в свой .bashrc, чтобы иметь java постоянно в вашем терминале:

echo export JAVA_HOME=\"/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home\" >> ~/.bashrc

Ответ 3

Правильное место для загрузки JDK для Java 7 - Загрузка Java SE.

Все другие ссылки, приведенные выше, насколько я могу судить, либо предоставляют загрузки JRE, либо Java 6 (кстати, если вы хотите запустить Eclipse или других IDE, например IntelliJ IDEA, вам понадобится JDK, а не JRE).

Что касается IntelliJ IDEA - это все равно попросит вас установить Java 6, поскольку, по-видимому, ему нужен более старый загрузчик классов или что-то в этом роде: просто следуйте инструкциям при появлении всплывающего окна диалога и установите JDK 6 в нужном месте.

Затем вам нужно будет сделать sudo ln -snf, упомянутый в ответе выше:

sudo ln -nsf /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents \
    /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK

(скопировано здесь, как было указано, что "выше" может в конечном итоге не иметь смысла, поскольку ответы пересортированы).

Я также установил мой JAVA_HOME, чтобы указать, где был установлен jdk_1.7.0_xx.jdk:

export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home"

Затем добавьте это к вашему PATH:

export PATH=$JAVA_HOME/bin:$PATH

Альтернатива заключается в том, чтобы окунуться в Apple безумным лабиринтом гиперссылок, но, честно говоря, жизнь слишком коротка, чтобы беспокоиться.

Ответ 4

Я загрузил и установил JDK 1.7 из Oracle. В консоли/в Terminal Java 7 отлично работает.

Когда я запускаю Java-программу (например Eclipse) через GUI, я получаю:

Чтобы открыть "Eclipse.app", вам понадобится среда выполнения Java SE 6. Вы не хотите установить его сейчас?

Поскольку я не хотел устанавливать старую версию Java, я использовал следующее обходное решение:

sudo ln -nsf /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK

Кредиты на monkehWorks.

Ответ 5

Эта ошибка возникает из-за того, что для файла plist для IntelliJ IDEA требуется Java версия 1.6 *. Чтобы решить эту проблему, замените 1.6 * на 1.8 *.

<key>JVMOptions</key>
<dict>
    <key>ClassPath</key>
      ...

    <key>JVMVersion</key>
    <string>1.8*</string>

    <key>MainClass</key>
    <string>com.intellij.idea.Main</string>
    <key>Properties</key>
<dict>

Ответ 7

OP подразумевал, что Java 7 - это необходимость. И Java 6 фактически больше не поддерживается, поэтому 7 - это версия, которую вы должны установить на этом этапе, если у вас нет устаревшего приложения.

Вы можете получить его здесь: http://java.com/en/download/mac_download.jsp?locale=en

Ответ 8

Мой опыт по обновлению Java SDK на OS X 10.9 был намного проще.

Я загрузил последнюю версию Java SE Development Kit 8, из SE загрузок и установил файл .dmg. И при вводе java -version в терминале было отображено следующее:

java version "1.8.0_11"

Java (TM) SE Runtime Environment (сборка 1.8.0_11-b12)

Java HotSpot (TM) 64-разрядная серверная VM (сборка 25.11-b03, смешанный режим)

Ответ 9

От OP:

Я, наконец, переустановил его из Java для OS X 2013-005. Он решил эту проблему.

Ответ 10

Нет необходимости устанавливать JDK, который является комплектом разработчика, только JRE, который является средой выполнения.

Ответ 11

Другой вариант - использовать jabba (Java Version Manager похож на nvm/gvm/rvm/...).

В дополнение к автоматической установке JDK, бесшовному переключению между различными версиями и тем же интерфейсом CLI во всех ОС вы получаете гарантию, что в следующий раз при обновлении Mac OS X все JDK все равно будут "там".

jabba install 1.8 # "jabba use 1.8" will be called automatically 
jabba ls # list all installed jdk's
jabba use 1.6 # switch to a different version of jdk 

Полное раскрытие: Я поддерживаю проект.

Ответ 12

Эта ошибка означает, что Java не установлена ​​должным образом.

1) brew cask install java (No need to install cask separately it comes with brew)

2) java -version

java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)

P.S - Что такое brew -cask? Homebrew-Cask расширяет Homebrew и решает проблему выполнения дополнительной команды - "Установить, перетащите эту иконку..." после установки приложения с использованием Homebrew.

N.B - эта проблема не является специфичной для Mavericks, вы получите почти все ОС X, включая EL Capitan.