我刚刚从这里下载了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

其他回答

我尝试了serkan的解决方案,它在OS X Mavericks上找到了java7的位置。它位于“/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/”中但为了使其成为默认JDK,我必须将主目录中.bash_profile中的JAVA_HOME系统变量设置为“/Library/JAVA/JavaVirtualMachines/jdk1.7.0_51.JDK/Contents/HOME/”所以,多亏了谢尔坎的想法,它现在开始运转了

System Preferences(系统首选项)然后是Java控制面板,然后是Java View(Java视图)将显示当前安装的默认JRE的确切位置。

Mac OS的Java包结构与Windows有点不同。不要为此感到沮丧,因为开发人员只需要设置PATH和JAVA_HOME。

因此,在.bash_profile中设置JAVA_HOME和PATH,如下所示。此示例适用于Java 6:

export JAVA_HOME=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
export PATH=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin:$PATH

MacOS BigSur

在.zshrc文件下添加以下内容。如果.zshrc不存在,请创建并添加。

export JAVA_HOME=`/usr/libexec/java_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