Java是macOS最新版本的可选包。

然而,一旦安装,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/下的版本

其他回答

我在High Sierra 10.13.4上使用Fish shell,并通过Brew安装Java。

它不是自动设置的,所以为了在我的系统上正确设置它,我运行:

set -U JAVA_HOME (/usr/libexec/java_home)

在Mac OS X Lion上,设置visualgc运行,我使用:

export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home

上面的方法对我来说在亚马逊的EC2工具中不起作用,因为它期望在JAVA_HOME下面的bin/java等。/System/Library/Frameworks/JavaVM.framework/Home可以工作。

针对Java 9的更新和一些简洁的别名。

. bash_profile:

export JAVA_HOME8=`/usr/libexec/java_home --version 1.8`
export JAVA_HOME9=`/usr/libexec/java_home --version 9`

注意,对于最新版本,它是9而不是1.9。

设置活动Java:

export JAVA_HOME=$JAVA_HOME8
export PATH=$JAVA_HOME/bin:$PATH

一些用于在不同版本之间切换的额外别名:

alias j8='export JAVA_HOME=$JAVA_HOME8; export PATH=$JAVA_HOME/bin:$PATH'
alias j9='export JAVA_HOME=$JAVA_HOME9; export PATH=$JAVA_HOME/bin:$PATH'

终端测试:

% j8
% java -version
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)
% j9
% java -version
java version "9"
Java(TM) SE Runtime Environment (build 9+181)
Java HotSpot(TM) 64-Bit Server VM (build 9+181, mixed mode)

编辑:针对Java 10的更新

export JAVA_HOME10=`/usr/libexec/java_home --version 10`
alias j10='export JAVA_HOME=$JAVA_HOME10; export PATH=$JAVA_HOME/bin:$PATH'

编辑:针对Java 11的更新

export JAVA_HOME11=`/usr/libexec/java_home --version 11`
alias j11='export JAVA_HOME=$JAVA_HOME11; export PATH=$JAVA_HOME/bin:$PATH'

我必须在我的Macbook air上明确地将它设置为准确的路径。

步骤是:

尝试回显$JAVA_HOME(如果设置了,它会显示路径),如果没有,尝试使用sudo find /usr/ name *jdk搜索它 使用- sudo nano ~/.bash_profile编辑Bash p 添加JAVA Home的确切路径(使用上面第2步中的路径) 出口JAVA_HOME = /图书馆/ Java / Home / JavaVirtualMachines / jdk1.8.0_144.jdk /内容 保存并退出 使用- echo $ JAVA_Home检查JAVA_Home

我在Macbook Air上使用JAVA 8运行MACOS MOJAVE - 10.14.2 (18C54)