Как проверить, установлен ли Java JDK на Mac?

125

Как проверить, установлен ли Java SDK на Mac?

Есть ли для этого командная строка?

сердитый киви
источник
«это программное обеспечение не запущено» Что означает вывод ошибки?
Эндрю Томпсон

Ответы:

184

javac -version в терминале будет делать


источник
Я получил "javac 1.6.0_37", это эквивалент jdk 6 или 7?
злой киви
7
Однако, если Java не установлена, появится диалоговое окно с сообщением о том, что Java необходимо установить, поэтому это не лучший вариант для сценариев.
оплачиваемый ботаник
72

Вы можете использовать java_homeвспомогательный двоичный файл OS Xдля того, что ищете.

Чтобы перечислить все версии установленного JDK:

$ /usr/libexec/java_home -V
Matching Java Virtual Machines (2):
    1.8.0_51, x86_64:   "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_51.jdk/Contents/Home
    1.7.0_79, x86_64:   "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home

Чтобы запросить путь JAVA_HOME для конкретной версии JDK, вы можете сделать:

$ /usr/libexec/java_home -v 1.7
/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home

$ /usr/libexec/java_home -v 1.8
/Library/Java/JavaVirtualMachines/jdk1.8.0_51.jdk/Contents/Home

Вы можете воспользоваться приведенными выше командами в своем скрипте следующим образом:

REQUESTED_JAVA_VERSION="1.7"
if POSSIBLE_JAVA_HOME="$(/usr/libexec/java_home -v $REQUESTED_JAVA_VERSION 2>/dev/null)"; then
    # Do this if you want to export JAVA_HOME
    export JAVA_HOME="$POSSIBLE_JAVA_HOME"
    echo "Java SDK is installed"
else
    echo "Did not find any installed JDK for version $REQUESTED_JAVA_VERSION"
fi

Возможно, вы сможете использовать if-else и также проверить несколько разных версий java.

Если вы предпочитаете вывод в формате XML, java_home также имеет параметр -X для вывода в формате XML.

$ /usr/libexec/java_home --help
Usage: java_home [options...]
    Returns the path to a Java home directory from the current user's settings.

Options:
    [-v/--version   <version>]       Filter Java versions in the "JVMVersion" form 1.X(+ or *).
    [-a/--arch      <architecture>]  Filter JVMs matching architecture (i386, x86_64, etc).
    [-d/--datamodel <datamodel>]     Filter JVMs capable of -d32 or -d64
    [-t/--task      <task>]          Use the JVM list for a specific task (Applets, WebStart, BundledApp, JNI, or CommandLine)
    [-F/--failfast]                  Fail when filters return no JVMs, do not continue with default.
    [   --exec      <command> ...]   Execute the $JAVA_HOME/bin/<command> with the remaining arguments.
    [-R/--request]                   Request installation of a Java Runtime if not installed.
    [-X/--xml]                       Print full JVM list and additional data as XML plist.
    [-V/--verbose]                   Print full JVM list with architectures.
    [-h/--help]                      This usage information.
Tuxdude
источник
18

Введите терминал:

which javac

Он должен показать вам что-то вроде

/usr/bin/javac
asgoth
источник
12
-1 за ответ: наличие java-команды в пути не свидетельствует о том, что JDK установлен (но JRE)
Луиджи Р. Виггиано
Я согласен. Я мог запустить «which java» или «which javac», но я получил сообщение об ошибке при запуске «java --version», потому что JDK не установлен.
fanchyna 03
1
-1 Это совершенно неверно. javacПо умолчанию все Mac поставляются с прокладкой. Это не имеет никакого отношения к тому, установлена ​​ли Java.
Radon Rosborough
3

Команда ниже сработала довольно хорошо:

javac -version

Я также вручную проверил, перейдя в папку Java на моем Mac.

/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk
Мир Казим Али Табрез
источник
2

/usr/bin/java_home инструмент возвращает 1, если java не установлен.

Итак, вы можете проверить, установлена ​​ли java, следующим образом:

/usr/libexec/java_home &> /dev/null && echo "installed" || echo  "not installed"
ramzes2
источник
1

Просто введите javac. Если он установлен, вы получите информацию об использовании, иначе он просто спросит, хотите ли вы установить Java.

Хари Даттада
источник
0

Убедитесь, что вы правильно определили JDK проекта и перезапустите IntelliJ (полный перезапуск).

Луис Соарес
источник
0
  • Открыть терминал.
  • запустите команду, чтобы увидеть:

    javac -version

  • Также вы можете проверить вручную, перейдя в определенное место, а затем проверив. Для этого выполните команду ниже в терминале Mac

    cd / Library / Java / JavaVirtualMachines /

Затем lsснова запустите команду в терминале. Теперь вы можете увидеть версию и пакет jdk, если они существуют на вашем компьютере.

Mohtasim
источник