Как установить конкретный JDK в Mac OS X?

Я хочу установить конкретный JDK (последний пример). Для этого я пошел на главную страницу загрузки JDK: http://java.sun.com/javase/downloads/index.jsp. Я искал версию для Mac, но я немного удивлен, увидев только загружаемые версии для Linux, Windows и Solaris...

Здесь сообщение для Mac:

"Apple Computer предоставляет собственную версию Java. Используйте программное обеспечение Функция обновления (доступна в меню Apple), чтобы проверить, что у вас есть самую последнюю версию Java для вашего Mac."

ОК, но... когда я обновляю Java на Mac, у меня есть JRE, а не JDK...

Я не понимаю, почему версия JDK не существует, которая легко загружается/устанавливается (например, банку для распаковки?) для Mac...

Ответ 1

В комментарии в ответ @Thilo @mobibob спросил, как установить JAVA_HOME в ваш .bash_profile на Mac. Ответ:

export JAVA_HOME=`/usr/libexec/java_home` 

Это будет динамически назначать JAVA_HOME расположение первого JDK, указанного на вкладке "Общие" в утилите "Предпочтения Java".

См. Apple Technical Q & A 1170: https://developer.apple.com/library/content/qa/qa1170/_index.html

EDIT:

Если вы предпочитаете скобки для backticks для подстановки команд, это также работает:

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

Ответ 2

Как говорится в сообщении, вы должны пойти в Apple, а не в Sun, для Java на Mac. Насколько я знаю, Apple JDK 6 устанавливается по умолчанию на Mac OS X 10.6 (Snow Leopard). Возможно, вам нужно установить инструменты разработчика с установочного DVD-диска Mac OS X (инструменты разработчика являются дополнительной установкой с ОС DVD).

Смотрите: http://developer.apple.com/java/

ПРИМЕЧАНИЕ. Этот ответ от 16 октября 2009 года устарел; вы можете получить JDK для Mac OS X с обычной страницы загрузки JDK на веб-сайте Oracle.

Ответ 3

Для людей, которые используют LION OS X 10.7.X

Они загрузили версию Java SE 6 версии 1.6.0_26 здесь

http://support.apple.com/kb/dl1421

Ответ 4

Вчера я купил MacBook Pro (Mac X v10.8 (Mountain Lion)), и JDK не установлен по умолчанию...

Как и javac, я также обнаружил, что у него не было пакетов, таких как SVN. Оказывается, вы можете получить все, начиная с страницы разработчика Apple (вам нужно будет зарегистрировать свой AppleID). SVN является частью пакета "Средства командной строки".

Enter image description here

Это то, что происходит на новом MacBook:

Enter image description here

Enter image description here

Надеюсь, это поможет другим новичкам вроде меня;)

Ответ 6

Объяснение заключается в том, что JDK является немного специфичным и не содержит библиотеки tools.jar. Для моего развития мне нужна эта библиотека, и Mac JDK не предоставляет ее:

(Cf. http://developer.apple.com/mac/library/documentation/Java/Conceptual/Java14Development/02-JavaDevTools/JavaDevTools.html)

tools.jar не существует. Классы, обычно расположенные здесь, вместо этого включены в classes.jar. Сценарии, которые полагаются на существование tools.jar, должны быть соответствующим образом переписаны.

Это отстой!

Ответ 7

Самый простой способ - использовать Homebrew. Установите Homebrew, а затем:

brew tap caskroom/versions
brew cask install java7

Вы можете перечислить все доступные версии, используя следующую команду: brew cask search java

Ответ 8

От Mac X v10.6 (Snow Leopard), вы можете запустить Java 6 в 32-битном режиме на 32-разрядном или 64-разрядном процессоре Intel Mac.

Если вы не можете перейти на Snow Leopard, Soy Latte - это предварительно скомпилированная версия Java 6 для Intel 32-битный.

Ответ 9

Компиляция с -source 1.5 -target 1.5 (в среде JDK 6) будет отмечать только языковые элементы, которые были в 1.5 и ранее. Отлично. Но в любом случае языковых изменений в 6 не было. Проблема с этим подходом (на Mac с 1.6) заключается в том, что использование классов, появившихся после AFTER 1.5, все равно будет компилироваться, потому что они существуют в rt.jar. Таким образом, можно запустить в 1,5 env и получить исключение класса, не найденное без предварительного предупреждения при компиляции. Я нашел это трудным путем с javax.swing.event.RowSorterEvent/Listener. Оба введены "Начиная с версии 1.6", но не пойманы с -source 1.5

Ответ 10

Существуют различные сложные проблемы с наличием нескольких версий Java (собственный Java 6 и Oracle JDK 7 или даже 8) в одной системе Mac OS X и использование разных версий для разных приложений. Я некоторое время писал свой опыт мой опыт установки и настройки различных версий JDK в Mac OS X 10.9.2.

Ответ 11

Если вы установили brew, см. ниже ниже:

brew cask install java

Ответ 12

Я думаю, что этот другой вопрос может помочь:

Как получить JDK 1.5 на Mac OS X

В основном говорится, что если вам нужно скомпилировать или выполнить Java-приложение с более старой версией JDK (например, 1.4 или 1.5), вы можете сделать это, используя 1.6, потому что он обратно совместим. Для этого вам нужно будет добавить параметр -source 1.5 и/или -target 1.5 в параметрах javac или в вашей среде IDE.

Ответ 13

JDK - это Java Development Kit (используется для разработки программного обеспечения Java).

JRE - это среда выполнения Java (используется для запуска любого Java файла .jar).

JDK содержит внутри себя JRE.

В Windows при обновлении Java она автоматически обновляет JRE.

На Mac у вас нет JRE, который у вас есть, но внутри JDK, поэтому при обновлении Java он обновит вашу JRE, которая находится внутри вашего JDK; он не устанавливает JDK для вас. Вы должны получить его откуда-то еще.

Ответ 14

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

например.

$sdk list java
$sdk install java <VERSION>

Ответ 15

Поскольку большинство ответов устарели, то, что работает на конец 2018 года, предполагается, что

  1. Вы хотите установить версию OpenJDK под GPL. [0]
  2. Вы не хотите устанавливать Homebrew

В этом случае возьмите нужную версию из одного из множества доступных свободно используемых выпусков OpenJDK, например:

Некоторые из них включают установщики, но если нет, вы можете сделать следующее. Предполагая здесь версию 11.0.1 для Mac. В своей любимой оболочке запустите:

tar -xzf openjdk-11.0.1_osx-x64_bin.tar.gz
sudo mv jdk-11.0.1.jdk /Library/Java/JavaVirtualMachines
# Fix owner and group
sudo chown -R root:wheel /Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk
# (Optional) Check if the new JDK can be found
/usr/libexec/java_home
=> /Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home

[0] Обратите внимание, что JDK под брендом Oracle имеет значительные лицензионные ограничения, что позволяет использовать его в основном только для тестирования, т.е. не для производства. Если у вас нет поддержки Соглашение с Oracle, тогда мне кажется рискованным использовать их JDK, тем более что различия с OpenJDK минимальны.

Изменить: добавил больше вариантов

Ответ 16

Как правило, вы не можете устанавливать другие версии Java на Mac, чем те, которые предоставляются Apple через Software Update. Если вам нужна Java 6, у вас должен быть 64-разрядный компьютер Intel. Вы должны всегда иметь Java 5 и 1.4 и, возможно, 1.3, если у вас есть хотя бы OS X 10.4.

Если у вас очень много смазки для локтя и вы готовы работать с бета-программным обеспечением, вы можете установить OpenJDK под OS X, но я не думаю, что вы хотите туда попасть.