Я отвечаю за приложение Java, которое развертывается на нескольких платформах, включая OS X. В последних версиях приложения мы распространяем два отдельных пакета для OS X - тот, который использует JavaApplicationStub, предоставленный Apple, и другой, который включает в комплекте JDK 7 и использует созданный вручную пусковой аппарат (модификация Oracle JavaAppLauncher).
Проблема в том, что с последним пакетом Mac OS X по-прежнему настаивает на том, что у вас установлена Java 6, если вы пытаетесь запустить приложение. В частности, в сообщении говорится:
"Чтобы открыть (приложение), вам понадобится среда выполнения Java SE 6. Не хотите ли вы установить ее сейчас?"
Если вы не устанавливаете Java SE 6, вы не можете запустить приложение, несмотря на то, что JDK 7 входит в комплект (и, если вы устанавливаете Java 6, он тем не менее работает со связанным Java 7).
Что я пытаюсь понять, так это то, как OS X решает, что приложение требует Java? Я попытался переименовать словарь Java в файл Info.plist и переименовать подпапку Java в папке Ресурсы без успеха. У кого-нибудь есть идеи? Возможно ли иметь приложение с запущенным JDK, не требующим установки JDK системы?