我应该如何在 macOS 上设置 JAVA_HOME 环境变量? [复制]

Posted

技术标签:

【中文标题】我应该如何在 macOS 上设置 JAVA_HOME 环境变量? [复制]【英文标题】:How should I set the JAVA_HOME environment variable on macOS? [duplicate] 【发布时间】:2015-08-07 21:19:43 【问题描述】:

我知道这个问题以前被问过很多次,但我确实读过,我会告诉你我得到了什么。

我将列出我在 OS X Yosemite 10.10.1

中执行的命令

java -version

java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)

java -fullversion

 java full version "1.8.0_45-b14"

哪个java

/usr/bin/java

Java home 变量未设置,因为当我这样做时:echo $java_homeecho $JAVA_HOMEecho $Java_Home 我什么也没得到在终端上。

执行此操作时:ls -l which java 我得到了:

8 lrwxr-xr-x  1 root  wheel  74 Nov 12  2014 /usr/bin/java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java

javac -version

javac 1.8.0_45

/usr/libexec/java_home

/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home

我在网上阅读后认为正确的解决方案是

echo "export JAVA_HOME=`/usr/libexec/java_home`" >> ~/.profile  

但我不敢测试它,这就是为什么我问你,这是否正确,如果不是,我该怎么办?

【问题讨论】:

【参考方案1】:

我不知道你为什么害怕测试,你可以放心地测试这个:

在您的终端会话中,输入以下内容:

echo "export JAVA_HOME=`/usr/libexec/java_home`"

这将打印以下行:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home

复制以上内容并将其粘贴到终端窗口中,然后按回车键。并执行java -version 以查看它是否正常工作。如果一切正常,您可以将代码附加到您的.profile

但是直接添加这一行会更好,因为升级 JDK 时不必更新 .profile

export JAVA_HOME=`/usr/libexec/java_home`

请参阅java_home 工具的手册页。简而言之,它为 macOS 上的正常安装提供了 JAVA_HOME 的适当路径

【讨论】:

你是说我只需要这样做export JAVA_HOME=/usr/libexec/java_home`` 然后java home 变量就可以设置了吗? 是的。也许你想读这个:developer.apple.com/library/mac/documentation/Darwin/Reference/… 我做了你的代码,现在当我做这个echo $JAVA_HOME我得到这个`/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home`这是否意味着java home 变量现在设置正确了吗? 运行java -version。如果它工作正常,则变量设置正确。 通过运行 java -version,我得到了这个java version "1.8.0_45" Java(TM) SE Runtime Environment (build 1.8.0_45-b14) Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode) 所以我们完成了吗?

以上是关于我应该如何在 macOS 上设置 JAVA_HOME 环境变量? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

SwiftUI:如何在 macOS 11 上设置工具栏的标题?

如何在macOS上使用Mach内核设置主机异常端口?

如何使用 MacPorts 在 MacOS Lion 上设置/使用 GDB 7

如何在 MacOS 上设置环境变量? zsh:没有这样的文件或目录

我应该使用哪些优化/设置在 Xcode for MacOS 的发布模式下进行编译?

如何在 MacOS 上使用 QGLFormat 更改 OpenGL 版本?