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

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

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

11 ответов

Решение

javac -version в терминале сделаем

Вы можете использовать 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.

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

which javac

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

/usr/bin/javac

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

javac -version

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

/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk

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

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

/usr/libexec/java_home &> /dev/null && echo "installed" || echo  "not installed"

Если вы используете Mac OS Big Sur, то у вас, вероятно, неправильная установка Java. В этой статье я нашел информацию о том, как решить проблему:https://knasmueller.net/how-to-install-java-openjdk-15-on-macos-big-sur .

  1. Загрузите файл .tar.gz JDK на странице https://jdk.java.net/15/ .
  2. Перейдите в папку загрузки и выполните следующие команды (переместите файл .tar.gz, извлеките его и удалите после извлечения):
      sudo mv openjdk-15.0.2_osx-x64_bin.tar.gz /Library/Java/JavaVirtualMachines/
cd /Library/Java/JavaVirtualMachines/
sudo tar -xzf openjdk-15.0.2_osx-x64_bin.tar.gz
sudo rm openjdk-15.0.2_osx-x64_bin.tar.gz

Примечание. Это может быть версия 15.0.3 или выше, в зависимости от даты загрузки.

  1. бежать /usr/libexec/java_home -v15и скопируйте вывод
  2. добавьте эту строку в свой .bash_profileили же .zshrcфайл, в зависимости от того, какую оболочку вы используете. У вас, вероятно, будет только один из этих файлов, существующих в вашем домашнем каталоге ( ~/.bash_profileили же ~/.zshrc).
      JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-15.0.2.jdk/Contents/Home
  1. сохраните изменения и сразу же сделайте их эффективными, запустив: source ~/.bash_profileили же source ~/.zshrc
  2. проверяем, что java работает - запускаем java -v
  • Открыть терминал.
  • запустите команду, чтобы увидеть:

    javac -version

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

    cd / Library / Java / JavaVirtualMachines /

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

На MAC найдите путь к JDK, выполнив команду.

      /usr/libexec/java_home

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

Если вы хотите только проверить, установлена ​​ли Java или нет

просто введите java на терминале

и если вы тоже хотите узнать о версии, то

введите Java-версию на терминале

Результат будет выглядеть так:

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

Другие вопросы по тегам