Откройте приложения Java .app с двойным щелчком мыши на Mac без Apple 6

2

Вкратце: на компьютере Mac с чистой установкой Yosemite двойной щелчок по скомпилированному комплекту приложения .app в стиле Java Mac не запускает приложение, если не установлена ​​Apple Java 6, даже если текущая версия Java для Mac от Oracle установлены.

Наконец: когда Apple разработала Java SDK для macosx, вы могли открыть пакет приложений Mac в стиле .app, написанный на Java, дважды щелкнув его значок в Finder, его значок приложения будет отображаться в вашей док-станции во время работы и в его меню. элементы будут жить в строке меню Mac OS. Java-приложения вели себя почти как родные Mac-приложения.

С другой стороны, если вы устанавливаете текущий Java SDK из Oracle, вы можете выполнить свое Java-приложение с помощью java -jar YourApp.app/Contents/Resources/Java/yourapp.jar, но у вас появляется общая иконка закрепления, ваши пункты меню располагаются в верхней части окна вместо строки меню.

И если на компьютере не установлена ​​Java 6 от Apple, которая не включена в последние версии ОС, но все еще доступна для загрузки в Apple по этому адресу (но на данный момент она устарела), то вы просто получите сообщение об ошибке: «Чтобы открыть YourApp.app, вам нужно установить устаревшую среду выполнения Java SE 6». со ссылкой на устаревшую реализацию Apple, даже если у вас уже установлена ​​Oracle 8 Java.

На Mac с установленной Java 8 от Oracle, но не с Java 6 от Apple, есть ли способ открыть приложение Java из Finder или сохранить совместимость этих других платформ? Есть ли способ заставить пакет .app использовать предпочитаемую установку Java?

Я в основном задаю тот же вопрос, что и для открытия «Eclipse», вам необходимо установить устаревшую среду выполнения Java SE 6 . Есть ли решение этой проблемы, кроме установки устаревшей Java 6?

Также этот вопрос может быть актуальным: приложение использует Java 6 от Apple вместо Java 7 от Oracle на Mac OS X?

На вопросы Запустите Java, связанный с .app из командной строки, и почему Java SE 6 Legacy требуется для открытия Intellij? Предполагается, что вы можете заставить свой Java-пакет приложений использовать более новую версию Java, если вы измените JVMVersion в YourApp.app/Contents/Info.plist, но это не сработало для меня. Эти ответы относятся к эпохе Java 1.7, может быть, она устарела?

ziggurism
источник

Ответы:

1

Из ответов на вопрос, который я задал в списке Apple java-dev, можно предположить, что на Mac с установленной Java 8 от Oracle, но не с Java 6 от Apple, в настоящее время нет способа открыть комплект приложений Java, созданный с помощью Apple. собственная старая технология jar bundler. Я подозреваю, что это потому, что JavaApplicationStub написан так, чтобы ожидать некоторый аспект Java от Apple, отсутствующий в Java Oracle.

С точки зрения пользователя, кажется, единственное, что нужно сделать, это загрузить и установить Java 6 с https://support.apple.com/kb/DL1572, пока он еще доступен.

С точки зрения разработчика, самым безопасным вариантом было бы встроить Java в свой пакет приложений, используя такой инструмент, как jwrapper (www.jwrapper.com). В качестве альтернативы могут быть инструменты для создания пакета, который будет работать с Oracle 8+ от Oracle.

Дэвид
источник
Я говорю о пакете приложений в стиле Mac .app, а не о jar-файле. Я отредактировал вопрос, чтобы сделать это более ясным.
Зиггуризм
Я отредактировал свой ответ. Я не думаю, что ваш вопрос такой же, как необходимость использования Java 6 для запуска Eclipse на Yosemite, потому что я этого не делаю, поэтому я проигнорировал это (хотя это может быть верно для старой версии Eclipse). Во всяком случае, я посмотрю на этот вопрос отдельно.
Дэвид
Структура Мотиватор не работает на моем Mac. Как и все Java-приложения, он выдает мне сообщение об ошибке с запросом Java 6. Скриншот здесь: imgur.com/T1xrpoX . JAR-файл внутри комплекта .app, а также Unix-JAR-файл отлично работали на моей машине через Jar Launcher.
зиггуризм
Это MacBook Pro, работающий под управлением Yosemite 10.10.3. На нем установлено обновление 45 Java JDK 1.8, но не Java 6 от Apple, которая, кажется, является единственной версией, которая позволяет дважды щелкать мышью. У меня такая же проблема на других компьютерах Mac, будь то новые или обновления до Yosemite. Вы уверены, что у вас не установлена ​​Apple Java 6?
зиггуризм
Комментарий для всех остальных: двойной щелчок по файлу jar фактически не запустит приложение Java через панель запуска Jar, поскольку он не подписан. Вы должны щелкнуть правой кнопкой мыши и выбрать «Открыть» в контекстном меню, чтобы обойти Gatekeeper. Предположительно также применяется к комплекту .app, если у вас есть версия Java, которая будет его запускать.
зиггуризм