Есть ли родная Java AOT для Mac OSX? - PullRequest
4 голосов
/ 19 февраля 2011

Интересно, есть ли компилятор (ы) AOT для Mac для компиляции приложений Java в собственные исполняемые файлы, поэтому устраняется необходимость в JRE?

Я видел коммерческие примеры как для Windows, так и для Linux, но не смог найти ничего для Mac, кроме GCJ с открытым исходным кодом, который имел ограниченный успех с некоторыми из Java-библиотек тополя.

Собственный исполняемый файл для Mac избавил бы его от JRE и, возможно, позволил бы подписать его, что позволило бы приложениям, разработанным на Java, быть принятыми в магазин приложений.

Ответы [ 2 ]

0 голосов
/ 31 декабря 2013

Для этого вы можете использовать Avian JVM.( статья в Википедии ).

Вы можете скомпилировать свое приложение в отдельный исполняемый файл, и оно поддерживает различные библиотеки классов: openjdk, реализацию библиотеки классов Android (даже если вы не используете )на Android) и пользовательской библиотеке классов, которая очень ограничена (в основном они добавляют методы к ней, поскольку авторам нужны API для запуска собственных приложений).

В README в репозитории кода есть описание того, как встроить виртуальную машину и сгенерировать «загрузочную» программу на C ++, которая запустит ваше приложение, и обратитесь к разделу «bootimage», если вы хотите, чтобы AOT скомпилировал все методы и сгенерировал двоичное изображение, исключающеенеобходимость JIT-компиляции во время выполнения.

Без загрузочного образа вы можете отправить файлы jar и исполняемый файл, который их «запустит» (исполняемый файл будет содержать виртуальную машину).При загрузочном образе файлы JAR дополнительно будут предварительно скомпилированы в собственный код.

С другой стороны, если вам просто нужен управляемый язык / платформа, вы также можете использовать .NET / MonoАОТ .См. Инструмент mkbundle, включенный в Mono 2.x.

0 голосов
/ 31 августа 2011

Install4J может скомпилировать вашу Java в собственное приложение OS X, но в системе все еще должна быть установлена ​​JRE.Install4J просто создает оболочку для вызова JRE.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...