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

Macos 如何检查Java JDK是否安装在Mac上?,macos,java,Macos,Java,如何检查Mac上是否安装了Java SDK 是否有此命令行?在终端中键入: which javac 它应该向你展示 /usr/bin/javac javac-终端中的版本可以只需键入javac。如果安装了它,您将获得使用信息,否则它只会询问您是否要安装Java。您可以利用OS X上的Java\u home帮助程序二进制文件来查找所需内容 要列出已安装JDK的所有版本,请执行以下操作: $ /usr/libexec/java_home -V Matching Java Virtual Mach

如何检查Mac上是否安装了Java SDK

是否有此命令行?

在终端中键入:

which javac
它应该向你展示

/usr/bin/javac

javac-终端中的版本
可以

只需键入
javac
。如果安装了它,您将获得使用信息,否则它只会询问您是否要安装Java。

您可以利用
OS X
上的
Java\u 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_主路径,可以执行以下操作:

$ /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.
$/usr/libexec/java\u主页--帮助
用法:java_home[选项…]
从当前用户的设置返回Java主目录的路径。
选项:
[-v/--version]过滤“JVMVersion”表单1.X(+或*)中的Java版本。
[-a/--arch]筛选JVM匹配的体系结构(i386、x86_64等)。
[-d/--datamodel]筛选能够使用-d32或-d64的JVM
[-t/--task]将JVM列表用于特定任务(小程序、WebStart、BundleApp、JNI或命令行)
[-F/--failfast]当筛选器没有返回JVM时失败,不要使用默认值继续。
[--exec…]使用其余参数执行$JAVA_HOME/bin/。
[-R/--request]如果未安装,则请求安装Java运行时。
[-X/--xml]将完整的JVM列表和附加数据打印为xml plist。
[-V/--verbose]打印带有架构的完整JVM列表。
[-h/--help]此用法信息。

/usr/bin/java\u home
如果未安装java,工具将返回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版本

  • 您也可以手动验证,方法是转到特定位置,然后进行检查。要执行此操作,请在mac终端中运行下面的命令

    cd/Library/Java/JavaVirtualMachine/


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

如果您使用的是Mac OS Big-Sur,那么您可能有一个混乱的java安装。 我在本文中找到了有关如何解决此问题的信息:

  • 在上下载JDK的.tar.gz文件
  • 导航到下载文件夹,并运行以下命令(移动.tar.gz文件,解压缩并在解压缩后将其删除):
  • 注意:可能是15.0.3或更高版本,具体取决于下载日期

  • 运行
    /usr/libexec/java_home-v15
    并复制输出
  • 将此行添加到
    .bash_配置文件
    .zshrc
    文件中,具体取决于您使用的shell。您的主目录中可能只有一个文件(
    ~/.bash_profile
    ~/.zshrc
  • 通过运行以下命令保存更改并使其立即生效:
    source~/.bash_配置文件
    source~/.zshrc
  • 检查java是否正常工作-运行
    java-v

  • -答案是:路径中存在java命令并不能证明安装了JDK(但安装了JRE),我同意。我可以运行“which java”或“which javac”,但我在运行“java--version”时收到一条错误消息,因为没有安装JDK。-1这是完全错误的。默认情况下,所有Mac都带有
    javac
    垫片。它与是否安装Java无关。我得到了“javac1.6.0_37”它是否等同于JDK6或7?但是,如果没有安装Java,将出现一个对话框,告诉您需要安装Java,因此这不是脚本的好选项。如果“操作无法完成。找不到Java运行时。请访问以获取有关安装Java的信息。“,转到并下载Java jdk!”软件未运行“错误输出是什么?
    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
    
    JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-15.0.2.jdk/Contents/Home