Я тестирую Snow Leopard для нашей ИТ-команды в рамках подготовки к его запуску. В настоящее время я использую сид 10A394, который поставляется с Java JDK 1.6.
Я нашел одно настольное приложение Java, которое больше не работает под Snow Leopard, оно даже не запускается. Производитель рекомендует перейти на JDK 1.5.
Проблема в том, что каждый пакет Java для Mac, который мне удалось найти, сначала проверяет, что он будет установлен в той версии Mac OS, которую Apple имела в виду при создании пакета. Эта страница хороший пример, есть два разных пакета, но каждый явно проверяет MacOS 10.4 или 10.5 перед установкой, поэтому ни один из них не работает в Snow Leopard.
После того, как я его установлю, я знаю, как изменить порядок, чтобы предпочтительнее была более низкая версия - я просто не могу найти никаких пакетов, которые можно установить.
MacOS поставляется с версиями Java, начиная с 1.3. Видеть /System/Library/Frameworks/JavaVM.framework/Versions
. Единственный раз, когда вам нужно установить из пакета, - это когда последняя версия Java новее, чем версия вашей ОС, и вы не можете использовать Обновление программного обеспечения по какой-либо причине.
Производитель вашего приложения действительно должен взять на себя ответственность, но вы, вероятно, можете решить проблему, отредактировав .plist приложения. Щелкните приложение правой кнопкой мыши и выберите Показать содержимое пакета затем откройте Info.plist
файл в текстовом редакторе. Вы увидите Java
словарь в этом файле и ключ JVMVersion
. Измените значение на 1.5*
(1.4+ будет означать что угодно после версии 1.4, 1.6 * будет любой версией 1.6.) Это заставит ваше приложение работать на Java 1.5.
Однако это может быть не вся история. Наряду с Info.plist
, ты найдешь MacOS/JavaApplicationStub
. Это настоящий двоичный файл MacOS X, запускающий JVM. Разработчик мог отправить свое приложение со старой версией этого файла, несовместимой с вашей ОС. У вас уже будет последняя копия этого файла на вашем компьютере по адресу /System/Library/Frameworks/JavaVM.framework/Versions/Current/Resources/MacOS/JavaApplicationStub
. Замените версию приложения на эту.
Приложение может по-прежнему не запускаться, потому что (например) оно не может загрузить 32-разрядные собственные библиотеки после того, как было запущено как 64-разрядное. В этом случае вы можете вырезать 64-битную часть заглушки с помощью команды lipo: lipo -remove x86_64 JavaApplicationStub -output JavaApplicationStub
Надеюсь, это сработает. И если это так, обязательно сообщите разработчику приложения.
Если у вас установлено несколько версий java, вы можете изменить порядок предпочтений в Applications / Utilities / Java.
Установите нужную вам версию и установите ее на верхнюю предпочтительную версию.
попробуйте эту ссылку: http://juggernaut.haet.ru/index.php/2009/06/24/java-1-5-in-snow-leopard/