Что такое JDK на Mac?

Я использую Mac только на работе, и мне нужно установить JAVA_HOME на правильный путь JDK. Я загрузил JDK, установил его, и теперь я не могу найти его нигде. Я рассматривал интернет для решения, но нет папки Libraries/Java.

Ответ 1

Место изменилось с Java 6 (предоставлено Apple) на Java 7 и далее (предоставляется Oracle). Лучший общий способ узнать это - запустить

/usr/libexec/java_home

Это естественный способ узнать как путь к установке по умолчанию Java, так и все альтернативные.

Если вы посмотрите текст справки (java_home -h), вы увидите, что вы можете использовать эту команду для надежного запуска программы Java в OS X (java_home --exec ...), с возможностью явного указания желаемой Java версии и архитектуры, или даже попросить пользователя установить его, если отсутствует.

Более пешеходный подход, но тот, который поможет вам отслеживать, какую именно установку Java выполняет команда java, выглядит следующим образом:

  • бег

    which java
    
  • если это дает вам нечто вроде /usr/bin/java, которое является символической ссылкой на реальное местоположение, запустите

    ls -l `which java`
    

    В моей системе это выдает

    /usr/bin/java -> /Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home/bin/java
    

    и оттуда вы можете прочитать домашний каталог Java;

  • если usr/bin/java указывает на другую символическую ссылку, рекурсивно применяет тот же подход с

    ls -l <whatever the /usr/bin/java symlink points to>
    

Важным вариантом является настройка, которую вы получаете, если начать с установки Apple Java и позже установить Oracle. В этом случае шаг 2 выше даст вам

/usr/bin/java -> /System/Library/Frameworks/JavaVM.framework/Commands/java

и что конкретный java двоичный код является заглушкой, которая разрешит фактическую команду java для вызова, обратившись к переменной среды JAVA_HOME и, если она не будет установлена ​​или не укажет на домашний каталог Java, будет вернитесь к вызову JAVA_HOME. Это важно иметь в виду при отладке вашей установки.

Ответ 3

Посмотрите и посмотрите, находится ли JDK:

Library/Java/JavaVirtualMachines/ Или /System/Library/Java/JavaVirtualMachines/

Проверьте это ранее сообщение SO: JDK на OSX 10.7 Lion

Ответ 4

На моем Mac:

/System/Library/Frameworks/JavaVM.framework/Home/

btw, вы пробовали which java?