Объясните структуру каталогов JVM на Mac OSX Leopard - PullRequest
8 голосов
/ 30 сентября 2008

Вот макет каталога, который был установлен с Leopard. Что такое каталог «A» и почему каталог «Current» в дополнение к «CurrentJDK»?

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

6 голосов
/ 30 сентября 2008

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

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

5 голосов
/ 30 сентября 2008

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

Если у вас есть прожектор на вашем жестком диске, вы можете просто выделить «Настройки Java»

2 голосов
/ 30 сентября 2008

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

export JAVA_HOME="/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/"
export PATH=$JAVA_HOME/bin/:$PATH
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...