Как установить конкретный 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]()
Надеюсь, это поможет другим новичкам вроде меня;)
Ответ 5
Mac поставляется с JDK, для получения дополнительной информации:
http://developer.apple.com/mac/library/documentation/Java/Conceptual/Java14Development/02-JavaDevTools/JavaDevTools.html
Ответ 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 года, предполагается, что
- Вы хотите установить версию OpenJDK под GPL. [0]
- Вы не хотите устанавливать 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, но я не думаю, что вы хотите туда попасть.