有人碰到这个吗?
我意识到1.6是OS X上的默认设置,但我正在尝试使用1.5在命令行上编译/运行程序。但是,无论我尝试什么,它都会报告1.6。
/System/Library/Frameworks/JavaVM.framework/Versions/1.5/Home/bin/java -version
java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02-279-10M3065)
Java HotSpot(TM) 64-Bit Server VM (build 16.3-b01-279, mixed mode)
rtp-wwilliam-8712:bin wwilliam$
请注意java二进制文件的完整路径。无论我尝试使用哪种早期版本的Java,我总是将1.6报告为版本。
java二进制文件确实存在于该路径中。该目录也是我路径中的第一个目录。
使用OS X 10.6.3安装最新的Java更新。
思想?
答案 0 :(得分:8)
因为在10.6,1.5(在JavaVM框架中)符号链接到1.6。 OS X 10.6仅配备1.3和1.6; 1.4和1.5是符号链接到1.6:
$ ll /System/Library/Frameworks/JavaVM.framework/Versions/
total 64
lrwxr-xr-x 1 root wheel 5B May 19 12:17 1.3@ -> 1.3.1
drwxr-xr-x 3 root wheel 102B Dec 2 20:55 1.3.1/
lrwxr-xr-x 1 root wheel 10B May 19 12:17 1.4@ -> CurrentJDK
lrwxr-xr-x 1 root wheel 10B May 19 12:17 1.4.2@ -> CurrentJDK
lrwxr-xr-x 1 root wheel 10B May 19 12:17 1.5@ -> CurrentJDK
lrwxr-xr-x 1 root wheel 10B May 19 12:17 1.5.0@ -> CurrentJDK
lrwxr-xr-x 1 root wheel 5B May 19 12:17 1.6@ -> 1.6.0
drwxr-xr-x 8 root wheel 272B May 19 17:56 1.6.0/
drwxr-xr-x 9 root wheel 306B May 19 17:56 A/
lrwxr-xr-x 1 root wheel 1B May 19 12:17 Current@ -> A
lrwxr-xr-x 1 root wheel 3B May 19 12:17 CurrentJDK@ -> 1.6