Как проверить, установлен ли Java JDK на Mac?
Как проверить, установлен ли Java SDK на Mac?
Есть ли командная строка для этого?
11 ответов
Вы можете использовать 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 .
- Загрузите файл .tar.gz JDK на странице https://jdk.java.net/15/ .
- Перейдите в папку загрузки и выполните следующие команды (переместите файл .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 или выше, в зависимости от даты загрузки.
- бежать
/usr/libexec/java_home -v15
и скопируйте вывод - добавьте эту строку в свой
.bash_profile
или же.zshrc
файл, в зависимости от того, какую оболочку вы используете. У вас, вероятно, будет только один из этих файлов, существующих в вашем домашнем каталоге (~/.bash_profile
или же~/.zshrc
).
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-15.0.2.jdk/Contents/Home
- сохраните изменения и сразу же сделайте их эффективными, запустив:
source ~/.bash_profile
или жеsource ~/.zshrc
- проверяем, что 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 (полный перезапуск).