如何检查 Java JDK 是否安装在 Mac 上?

如何检查 Mac 上是否安装了 JavaSDK?

有这样的命令行吗?

238439 次浏览

在终端中的 javac -version就可以了

输入终端:

which javac

它应该会告诉你

/usr/bin/javac

输入 javac。如果已经安装了,你会得到使用信息,否则它只会询问你是否想要安装 Java。

您可以利用 OS X上的 java_home助手二进制文件来获得所需的内容。

要列出已安装的 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.

如果没有安装 java,/usr/bin/java_home工具返回1。

所以你可以通过下面的方法来检查 java 是否已经安装:

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

确保正确定义了项目的 JDK 并重新启动 IntelliJ (完全重新启动)。

下面的命令效果非常好:

javac -version

我还通过导航到 Mac 上的 Java 文件夹来手动验证

/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk
  • 终端打开。
  • 运行命令查看:

    Javac-version

  • 您也可以通过到特定位置进行手动验证,然后进行检查。在 Mac 终端执行以下命令

    Cd/Library/Java/JavaVirtualMachines/

然后在终端中再次运行 ls命令。现在您可以看到 jdk 版本和包,如果存在于您的计算机。

如果你使用的是 Mac OS Big Sur,那么你的 java 安装很可能是一团糟。 我在这篇文章中找到了解决这个问题的方法: Https://knasmueller.net/how-to-install-java-openjdk-15-on-macos-big-sur

  1. https://jdk.java.net/15/上下载 JDK 的. tar.gz 文件
  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文件中,具体取决于所使用的 shell。您可能只有其中一个文件存在于您的主目录(~/.bash_profile~/.zshrc)中。
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-15.0.2.jdk/Contents/Home
  1. 保存更改,并通过运行以下命令使其立即生效: source ~/.bash_profilesource ~/.zshrc
  2. 检查 java 是否正常工作-运行 java -v

在 MAC 上,通过执行命令找到 JDK 路径。

/usr/libexec/java_home