Mac在命令终端和系统偏好设置中报告不同版本的Java

ksl*_*ksl 7 java macos version

在我的Mac上,命令终端中指示的Java版本是1.7.0_40.Java控制面板(系统偏好设置)表示1.7.0_51.

他们为什么不同?

一些其他信息:

从命令终端/usr/libexec/java_home -V响应:

Matching Java Virtual Machines (3):
    1.7.0_40,         x86_64:   "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk/Contents/Home
    1.6.0_65-b14-462, x86_64:   "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
    1.6.0_65-b14-462, i386:     "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
Run Code Online (Sandbox Code Playgroud)

JAVA_HOME 被设置为:

/Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk/Contents/Home
Run Code Online (Sandbox Code Playgroud)

从命令终端java -version响应:

java version "1.7.0_40"
Java(TM) SE Runtime Environment (build 1.7.0_40-b43)
Java HotSpot(TM) 64-Bit Server VM (build 24.0-b56, mixed mode)
Run Code Online (Sandbox Code Playgroud)

Tim*_*m B -1

当您运行命令行 java 时,它正在运行系统 bin 路径中配置的命令行。

系统首选项中的另一个必须是从系统中其他位置的不同位置选取的。