在Mac OSX Leopard上解释JVM目录布局

时间:2008-09-30 01:26:18

标签: java macos jvm

以下是随Leopard一起安装的目录布局。什么是“A”目录以及除“CurrentJDK”之外的“当前”目录的原因?

看起来你可以通过移动CurrentJDK链接轻松切换当前的JDK,但是当前和A下的内容将不同步。

lrwxr-xr-x  1 root  wheel    5 Jun 14 15:49 1.3 -> 1.3.1
drwxr-xr-x  3 root  wheel  102 Jan 14  2008 1.3.1
lrwxr-xr-x  1 root  wheel    5 Feb 21  2008 1.4 -> 1.4.2
lrwxr-xr-x  1 root  wheel    3 Jun 14 15:49 1.4.1 -> 1.4
drwxr-xr-x  8 root  wheel  272 Feb 21  2008 1.4.2
lrwxr-xr-x  1 root  wheel    5 Feb 21  2008 1.5 -> 1.5.0
drwxr-xr-x  8 root  wheel  272 Feb 21  2008 1.5.0
lrwxr-xr-x  1 root  wheel    5 Jun 14 15:49 1.6 -> 1.6.0
drwxr-xr-x  8 root  wheel  272 Jun 14 15:49 1.6.0
drwxr-xr-x  8 root  wheel  272 Jun 14 15:49 A
lrwxr-xr-x  1 root  wheel    1 Jun 14 15:49 Current -> A
lrwxr-xr-x  1 root  wheel    3 Jun 14 15:49 CurrentJDK -> 1.5
steve-mbp /System/Library/Frameworks/JavaVM.framework/Versions $ 

和A的内容

-rw-r--r--   1 root  wheel    1925 Feb 29  2008 CodeResources
drwxr-xr-x  34 root  wheel    1156 Jun 14 15:49 Commands
drwxr-xr-x   3 root  wheel     102 Mar  6  2008 Frameworks
drwxr-xr-x  16 root  wheel     544 Jun 14 15:49 Headers
-rwxr-xr-x   1 root  wheel  236080 Feb 29  2008 JavaVM
drwxr-xr-x  29 root  wheel     986 Jun 14 15:49 Resources
steve-mbp /System/Library/Frameworks/JavaVM.framework/Versions/A $ 

3 个答案:

答案 0 :(得分:6)

ACurrent符号链接到A)是Mac OS X框架结构的一部分,JavaVM.framework是。除了实际的JVM安装之外,该框架中还可能包含C或Objective-C代码。因此,除了包含JVM以及它之外,它还可能与某些C或Objective-C代码相关联。

请注意,您不应更改CurrentJDK链接以指向Mac OS X设置的任何内容。与其他平台不同,Java虚拟机是运行的Mac OS X上的系统服务,并以这种方式更改它将使您处于不受支持(可能未经测试,不稳定等)的配置中。

答案 1 :(得分:5)

您应该使用Java Preferences命令更改jvm版本。

如果你对Harddisk有所了解,你可以只关注“Java偏好”

答案 2 :(得分:2)

如果要恢复到较旧的JVM(此处为1.5),可以将以下内容放在~/.profile中(或将其粘贴到特定的终端窗口中):

export JAVA_HOME="/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/"
export PATH=$JAVA_HOME/bin/:$PATH