Вкратце: на компьютере 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, может быть, она устарела?