Java是macOS最新版本的可选包。
然而,一旦安装,JAVA_HOME环境变量似乎没有正确设置。
Java是macOS最新版本的可选包。
然而,一旦安装,JAVA_HOME环境变量似乎没有正确设置。
当前回答
这个答案与山狮有关,与狮子无关。我需要为AWS命令行工具这样做。根据AWS文档,运行哪个java会返回/usr/bin/java.
因此,我在。bashrc中设置了JAVA_HOME=/usr。
显然,/usr/bin/java是一个指向/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java的符号链接。
更新
正如下面的评论中提到的,当JAVA_HOME环境变量被AWS命令行工具以外的东西使用时,这个JAVA_HOME值并不是理想的解决方案。不过,它在AWS命令行工具中工作得很好,正如它们的文档中给出的那样。
其他回答
上面的方法对我来说在亚马逊的EC2工具中不起作用,因为它期望在JAVA_HOME下面的bin/java等。/System/Library/Frameworks/JavaVM.framework/Home可以工作。
安装Java可选包或Oracle JDK后, 在~/中添加下列行之一。Bash_profile文件将相应地设置环境变量。
export JAVA_HOME="$(/usr/libexec/java_home -v 1.6)"
or
export JAVA_HOME="$(/usr/libexec/java_home -v 1.7)"
or
export JAVA_HOME="$(/usr/libexec/java_home -v 1.8)"
or simply
export JAVA_HOME="$(/usr/libexec/java_home)"
注意:如果在mac上使用brew安装openjdk,请执行sudo ln -sfn /usr/local/opt/openjdk/libexec/openjdk.jdk /图书馆/ Java / JavaVirtualMachines / openjdk。JDK为上述工作
更新:根据Jilles van Gurp的响应增加了-v标志。
我在High Sierra 10.13.4上使用Fish shell,并通过Brew安装Java。
它不是自动设置的,所以为了在我的系统上正确设置它,我运行:
set -U JAVA_HOME (/usr/libexec/java_home)
在我升级我的Mac OS后,我也遇到了同样的问题,以下是我的工作:
cmd > vi ~ / . bash_profile 为JAVA_HOME添加/更新行: 出口JAVA_HOME = " /图书馆/ Java / JavaVirtualMachines / jdk1.7.0_15.jdk /内容/家” ~ / cmd >来源。Bash_profile或打开一个新终端
我认为jdk版本可能不同,所以只使用你在/Library/Java/JavaVirtualMachines/下的版本
一个更好的(更可升级的)方法是使用以下方法:
/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home
这应该与AWS一起工作,因为它在Home下面有bin