【问题标题】:Why does OS X java always report 1.6?为什么 OS X java 总是报告 1.6?
【发布时间】:2010-06-02 17:57:46
【问题描述】:

有人遇到这种情况吗?

我意识到 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 二进制文件确实存在于该路径中。该目录也是我路径中的第一个目录。

使用安装了最新 java 更新的 OS X 10.6.3。

想法?

【问题讨论】:

  • java 1.6 编译器有命令行开关,可以在 1.4 或 1.5 兼容模式下编译。

标签: java macos command-line


【解决方案1】:

因为在 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

【讨论】:

  • 噢!我检查了二进制文件上的符号链接,但在树中没有走那么远。我听说 1.6 在某些系统上删除了以前的版本,但我想因为我仍然看到那里的目录,所以我认为它没有在我的系统上这样做。谢谢。
猜你喜欢
  • 1970-01-01
  • 2013-06-20
  • 2013-11-08
  • 2013-04-19
  • 1970-01-01
  • 2017-07-10
  • 1970-01-01
  • 2012-03-04
  • 1970-01-01
相关资源
最近更新 更多