我刚刚从这里下载了Mac OS 10.7.5上的Java 7u17,然后成功安装了它。为了进行一些JNI编程,我需要知道Java在Mac上的安装位置。

我以为在/Library/Java/JavaVirtualMachines/文件夹中会有一个名为1.7.0.jdk的文件夹,但后来我发现该文件夹是空的。这通过在终端中运行ls/Library/Java/JavaVirtualMachines/来确认。我尝试过搜索它,以确定它是否安装在其他地方,但这似乎没有任何结果。

有人能告诉我我的Mac上安装了Java吗?


当前回答

如果安装了多个Java版本,请使用:

$/usr/libexec/java_home--详细

or:

$/usr/libexec/java_home-V(这是大写的V!)

列出所有版本和架构。

样本输出:

$ /usr/libexec/java_home -V
Matching Java Virtual Machines (4):
    12.0.1 (x86_64) "Oracle Corporation" - "Java SE 12.0.1" /Library/Java/JavaVirtualMachines/jdk-12.0.1.jdk/Contents/Home
    1.8.202.08 (x86_64) "Oracle Corporation" - "Java" /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
    1.8.0_282 (x86_64) "Amazon" - "Amazon Corretto 8" /Users/username/Library/Java/JavaVirtualMachines/corretto-1.8.0_282/Contents/Home
    1.8.0_202 (x86_64) "Oracle Corporation" - "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/jdk-12.0.1.jdk/Contents/Home

其他回答

如果您键入

java -verbose 

这还提供了jar的加载位置,因此也提供了java路径。

如果您只安装JRE,它似乎位于:

/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home

如果安装了多个Java版本,请使用:

$/usr/libexec/java_home--详细

or:

$/usr/libexec/java_home-V(这是大写的V!)

列出所有版本和架构。

样本输出:

$ /usr/libexec/java_home -V
Matching Java Virtual Machines (4):
    12.0.1 (x86_64) "Oracle Corporation" - "Java SE 12.0.1" /Library/Java/JavaVirtualMachines/jdk-12.0.1.jdk/Contents/Home
    1.8.202.08 (x86_64) "Oracle Corporation" - "Java" /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
    1.8.0_282 (x86_64) "Amazon" - "Amazon Corretto 8" /Users/username/Library/Java/JavaVirtualMachines/corretto-1.8.0_282/Contents/Home
    1.8.0_202 (x86_64) "Oracle Corporation" - "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/jdk-12.0.1.jdk/Contents/Home

我刚刚为JavaSE7的版本21安装了JDK,发现它安装在与苹果的Java6不同的目录中。它位于/Library/Java。。。而不是在/System/Library/Java中。。。。运行/usr/libexec/java_home-v 1.7与-v 1.6将证实这一点。

如果您正在使用sdkman

您可以使用sdk-home-java<installed.java_version>进行检查

$  sdk home java 8.0.252.j9-adpt
/Users/admin/.sdkman/candidates/java/8.0.252.j9-adpt

您可以使用

$ sdk list java