How to: Java 6 под MacOS X

В этом посте описывается установка Java 6 runtime под MacOSX, описываемый ниже алгоритм тестировался на моем Hackintosh (HP Mini 110 + MacOSX 10.5.7). Если это заработало у меня, то должно заработать и у вас …

Немного “мат части” ….

Корпарация Sun не распростроняет и не поддерживает Java под MacOSX,  Apple сама занимается реализацией Java Runtime. Собственно говоря Java Runtime от Apple это не тот “runtime”,

который мы привыкли видеть в той же Window или Linux. Он (runtime) реализовн в виде MacOSX FrameWork (“увидеть” framework можно здесь /System/Library/Frameworks/JavaVM.frameworks), и как я понимаю Java приложения (в прочем как и python, ruby и т.д.) в каком-то смысле являются “нативными” приложениями для MacOSX. GUI такого приложения использует Cocoa или Aqua Framework для отрисовки окон, ему также доступны все сервисы и библиотеки MacOSX, как любому другому приложению написаному например на “родном” для MacOSX Object C. Для пользователя Java приложени выглядит весьма аутентично.

Проблемы …

Apple Java Framework входит в состав системы по умолчанию, вам так же предоставляется возможность обновить (скачать) более новую версию framework.

Кстати номера версий Apple Java Framework полность соотвествуют версионности принятой в компании Sun. Так Apple Java Framework версии 1.4 реализует стандарт Sun Java SE 1.4, а версия Apple Java Framework версии 1.5 реализует стандарт Sun Java SE 5 и т.д.

Список версий Apple Java Frameworks, установленных на вашем десктопе можно увидеть запустив приложение Utilities/Java Prefernces

Кстати список установленных версий можно увидеть заглянув в папку /System/Library/Frameworks/JavaVM.frameworks/Versions

К сожалению здесь вы не увидите последнюю версию Java 1.6, а ведь так хотелось!

Пробуем решить проблему…

В Google поиске задаем нечто “Java 6 for MacOSX 10.5.7” и по результатам поиска нам удается скачать и установить новую версию Java. Еще раз список версий Java Framework, установленных на нашем коспьютере и … о ужас, версии 1.6 мы не находим. Как так?! Мы же все установили.

Заходим  в /System/Library/Frameworks/JavaVM.frameworks/Versions, ну вот же она версия 1.6 ! Хмм давайте запустим принудительно  …

cd /System/Library/Frameworks/JavaVM.frameworks/Versions/1.6.0/Commands

./java –version

Получаем ошибку: “Bad CPU type in exucatble”. Приехали …

Оказывается мы установили Framework под 64 битный процессор (странно что не было предупреждений во время инсталяции). А как же 32 бита ?! А 32 бита не поддреживаются, нету для этих битов еще шестой Java …

Шеф все пропало ….

Не совсем. В качестве альтерантивного решения рекомендую установить OpenJDK 6. OpenJDK это Development Kit (Java Runtime + утилиты разработчика), поддерживаемых Open Source и Sun. Собственно та Java, что предлагается нам к скачиванию с сайта Sun есть коммерческий слепок (snapshot) проекта Open JDK. К нашему счастью OpenJDK портирован и на FreeBSD/MacOSX и установить его можно 2-мя следующими способами.

Порты…

Надеюсь, вы уже установили port под MacOSX, если нет, то прочтите как это сделать здесь.

В окне терминала, под root’ом выполняем команду

port install openjdk6

В ходе установки помимо самого jdk будут инсталлированы и вспомогательные библиотеки. Приготовтесь что процесс установки будет довольно продолжительным и не всегда успешным. В момем случае мне так и не удалось установить jdk через port’ы и пришлось устанвливать “руками”, об этом ниже.

Устнавливаем “руками” …

С  сайта SoyLatte скачиваем бинарный дистрибутив и распаковываем его. Я рекомендую скопировать бинарный дистрибутив в папку /System/Library/Frameworks/JavaVM.frameworks/Versions в моем случае это выглядит как /System/Library/Frameworks/JavaVM.frameworks/Versions/openjdk6. Сделано это для поддержания единообразности. В принципе Java 6 уже готова к использованию и дальнейшая настройки Java завист от полета вашей фантазии: можно например создать soft link к новому Java runtime или как я ввести переменную окружения “OpenJDK6_HOME” (здесь рассказано как это сделать). Запуск Java 6 приложения становится рутиным делом:

$OpenJDK6_HOME/bin/java –jar <your jar file>

Ограничения ….

Так как установленная JDK (Java runtime) собственно не явялется Apple Framework и ему не доступны специфичные для MacOSX библиотеки, то для отображения пользовательского интерфейса используется Server X11 (в вашей MacOSX он установлен по умолчанию). Для пользователя это означает что у него (пока ?) нет возможности увидеть красивости Aqua или Cocoa. Зато конечно появилось возможность запуска приложения под Java 6.

Реклама
Настройки приватности
Отмечено , ,

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s

%d такие блоггеры, как: