请在MacOS中查看这3个命令及其结果:
Korays-MacBook-Pro:~ koraytugay$ /usr/libexec/java_home
/Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home
Korays-MacBook-Pro:~ koraytugay$ java -version
java version "1.7.0_55"
Java(TM) SE Runtime Environment (build 1.7.0_55-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.55-b03, mixed mode)
Korays-MacBook-Pro:~ koraytugay$ echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk1.7.0_55.jdk/Contents/Home
为什么第一个返回1.8? / libexec / java_home究竟是什么?
答案 0 :(得分:1)
科拉伊,
根据Oracle docs ...
JAVA_HOME只是一个环境变量,用于触发' java'在PATH中找到使用不同的JDK映像。不幸的是,并非所有' java'启动脚本遵循此env变量。它也被许多java工具启动脚本用来确定什么' java'跑,绕过'java'在PATH设置中找到。在JDK构建期间设置此变量是一个坏主意,不要这样做。
我自己使用Eclipse,并且没有定义JAVA_HOME env变量,这是我的输出运行相同的命令。
brandon@brandons-mbp ~
$ /usr/libexec/java_home
/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home
brandon@brandons-mbp ~
$ java -version
java version "1.8.0_05"
Java(TM) SE Runtime Environment (build 1.8.0_05-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.5-b02, mixed mode)
brandon@brandons-mbp ~
$ echo $JAVA_HOME
不确定为什么你有两个不同的版本,但你最近是否尝试更新JDK?也许当你升级它时无法启动脚本来更新你的$ JAVA_HOME。
这里有instructions用于安装JDK并在基于* nix的操作系统上设置JAVA_HOME。
如果有帮助我可以帮助您在需要时帮助您深入挖掘。