Организация файловой системы Java / JDK в OSX (Mavericks)

0

Если вы устанавливаете JDK через Oracle DMG, вы получаете содержимое

/Library/Java/JavaVirtualMachines/jdk1.7.0_xx/Content/Home/bin

так же как

/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/

В этих двух каталогах происходит полное дублирование двоичных файлов, и они не являются символическими / жесткими ссылками друг на друга. В последнем случае Current dir является символической ссылкой на A dir на том же уровне. Однако это не объясняет, как это относится к предыдущему каталогу ( /Libraray/Java/...).

/usr/bin/java*is / являются символическими ссылками на двоичные файлы в /System/Library/Frameworks/каталоге ....

Есть ли какая-то рифма в том, почему именно так организована Java в OSX?

Итак, еще одно наблюдение:

> / usr / libexec / java_home

генерирует:

/Library/Java/JavaVirtualMachines/jdk1.7.0_65.jdk/Contents/Home

Таким образом, в то время как /usr/bin/javaисполняемый файл указывает на /System/Library/Framework/....местоположение, скрипт java_home генерирует путь к домашнему каталогу в/Library/Java/JavaVirtualMachines/...

Откровенно говоря, это беспорядок - почему так?

jshort
источник
Так что немного покопавшись, и я думаю, у меня есть догадка, что исполняемые файлы, на которые указывает / usr / bin / java * в каталоге /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/, являются просто двоичными файлами-обертками, которые используйте / usr / libexec / java_home, чтобы найти истинные двоичные файлы Java. Кто-нибудь может подтвердить это?
Jshort
Кто-нибудь? Я не могу быть единственным, кто интересуется этим?
Jshort