it-swarm.com.ru

Как установить определенный 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 ...

196
ajeanson

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

export Java_HOME=`/usr/libexec/Java_home` 

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

См. Apple Технические вопросы и ответы 1170: https://developer.Apple.com/library/content/qa/qa1170/_index.html

Правка:

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

export Java_HOME=$(/usr/libexec/Java_home)
44
Mark Tye

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

Смотрите: http://developer.Apple.com/Java/

NOTE Этот ответ от 16 октября 2009 г. устарел; Вы можете получить JDK для Mac OS X с обычной страницы страница загрузки JDK на веб-сайте Oracle.

20
Jesper

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

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

Enter image description here

Вот что происходит на свежем MacBook:

Enter image description here

Enter image description here

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

10
matt burns

Для людей, использующих любой LION OS X 10.7.X

Они загрузили Java SE 6 версия 1.6.0_26 доступна здесь

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

10
Roy Calderon

Mac поставляется с JDK, для получения дополнительной информации проверьте:

http://developer.Apple.com/mac/library/documentation/Java/Conceptual/Java14Development/02-JavaDevTools/JavaDevTools.html

4
pedromarce

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

(См. http://developer.Apple.com/mac/library/documentation/Java/Conceptual/Java14Development/02-JavaDevTools/JavaDevTools.html )

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

Это отстой!

4
ajeanson

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

brew tap caskroom/versions
brew cask install Java7

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

4
solomkinmv

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

3
Meng Lu

Если вы установили brew, ниже будет полезен cmd:

заварить бочку установить Java

3
Ponderous

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

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

3
Brian M. Carr

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

3
Evan

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

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

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

В Windows, когда вы обновляете Java, он обновляет JRE автоматически.

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

1
user1477929

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

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

В этом случае получите нужную версию с сайт Oracle GPLv2 OpenJDK или с AdoptOpenJDK (пока не тестировал сам). Ниже я предполагаю, что версия 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 минимальны .

1
LCC

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

например.

$sdk list Java
$sdk install Java <VERSION>
1
Rishikesh Darandale

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

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

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

1
Fgblanch

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

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

0
Thorbjørn Ravn Andersen