Объясните расположение каталога JVM на Mac OSX Leopard

Вот макет каталога, который был установлен с Leopard. Что такое каталог "А" и почему "Текущий" каталог в дополнение к "CurrentJDK"?

Похоже, вы можете легко переключить текущий JDK, переместив ссылку CurrentJDK, но тогда содержимое под током и 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 $ 

Ответ 1

(A, Current, символически связанный с A) является частью структуры среды Mac OS X, которая JavaVM.framework есть. Эта структура может содержать код C или Objective-C в дополнение к фактическим установкам JVM. Таким образом, он может быть связан с некоторым кодом C или Objective-C в дополнение к содержанию JVM наряду с этим.

Обратите внимание, что вы не должны изменять ссылку CurrentJDK, чтобы указать на что-либо, кроме того, на что она установлена ​​Mac OS X. В отличие от других платформ виртуальная машина Java является службой операционной системы на Mac OS X и, таким образом, изменив его, вы установили неподдерживаемую (и, возможно, непроверенную, неустойчивую и т.д.) конфигурацию.

Ответ 2

Вы должны использовать команду Java Preferences для изменения версии jvm.

Если у вас есть прожектор на вашем жестком диске, вы можете просто проследить "Предпочтения Java"

Ответ 3

Если вы хотите вернуться к более старой JVM (здесь, 1.5), вы можете поместить следующее в свой ~/.profile (или вставить его в определенное окно терминала):

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