如何检查 Java SDK 是否安装在 Mac 上?
有这个命令行吗?
javac -version
在终端会做
您可以利用java_home
helper 二进制文件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
要请求特定 JDK 版本的 JAVA_HOME 路径,您可以执行以下操作:
$ /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
我还通过导航到我的 Mac 上的 Java 文件夹手动验证
/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk
/usr/bin/java_home
如果未安装 java,则工具返回 1。
所以你可以通过下一种方式检查是否安装了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
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
or.zshrc
文件中,具体取决于您使用的 shell。您的主目录(~/.bash_profile
或~/.zshrc
)中可能只有这些文件之一。JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-15.0.2.jdk/Contents/Home
source ~/.bash_profile
或source ~/.zshrc
java -v
只需键入javac
. 如果已安装,您将获得使用信息,否则只会询问您是否要安装 Java。
确保正确定义项目的 JDK 并重新启动 IntelliJ(完全重新启动)。
运行命令查看:
javac-版本
您也可以通过转到特定位置然后检查来手动验证。为此,请在 mac 终端中运行以下命令
cd /库/Java/JavaVirtualMachines/
然后ls
再次在终端中运行命令。现在您可以看到您的计算机中是否存在 jdk 版本和软件包。