Инструмент Java Packager компилирует, упаковывает и подготавливает приложения Java и JavaFX к распространению. Команда javapackager - это версия командной строки.
– Документация Oracle
javapackager Утилита поставляется с JDK. Помимо прочего, она может генерировать файлы .exe с флагом -native exe.
Упаковывает ваш JAR, ресурсы и JVM для распространения в Windows, Linux и Mac OS X, добавляя собственный исполняемый файл, чтобы он выглядел как собственное приложение. Packr больше всего подходит для приложений с графическим интерфейсом.
– packr README
packr - это еще один инструмент с открытым исходным кодом.
JSmooth - это оболочка исполняемого файла Java. Он создает собственные средства запуска Windows (standard .exe) для ваших java-приложений. Это делает развертывание Java намного более плавным и удобным для пользователя, поскольку оно способно само находить любую установленную виртуальную машину Java.
– Веб-сайт JSmooth
JSmooth имеет открытый исходный код и имеет функции, но он очень старый. Последний выпуск был в 2007 году.
JexePack - это инструмент командной строки (отлично подходит для автоматического написания сценариев), который позволяет вам упаковать ваше Java-приложение (файлы классов), необязательно вместе с его ресурсами (такими как GIF / JPG / TXT / etc), в единый сжатый 32-разрядный Windows EXE, который запускается с использованием Sun Java Runtime Environment. Поддерживаются как консольные, так и оконные приложения.
– Веб-сайт JexePack
JexePack является пробным программным обеспечением. Для производственного использования требуется оплата, и в файлах exe, созданных с помощью этого инструмента, будут отображаться "напоминания" без оплаты. Кроме того, последний релиз был в 2013 году.
InstallAnywhere упрощает разработчикам создание профессионального установочного программного обеспечения для любой платформы. С InstallAnywhere вы быстро адаптируетесь к изменениям в отрасли, быстрее выйдете на рынок и обеспечите привлекательный клиентский опыт. И узнайте об уязвимости компонентов OSS вашего проекта перед отправкой.
– Веб-сайт InstallAnywhere
InstallAnywhere - это коммерческий / корпоративный пакет, который создает установщики для программ на основе Java. Вероятно, он способен создавать файлы .exe.
Исполняемые JAR-файлы
В качестве альтернативы файлам .exe вы можете создать файл JAR, который автоматически запускается при двойном щелчке, добавив точку входа в манифест JAR.
Launch4j - это кроссплатформенный инструмент для упаковки Java-приложений, распространяемых в виде jars, в облегченные собственные исполняемые файлы Windows. Исполняемый файл может быть настроен на поиск определенной версии JRE или использовать комплектную версию, и можно установить параметры времени выполнения, такие как начальный / максимальный размер кучи. Оболочка также обеспечивает лучший пользовательский опыт благодаря значку приложения, встроенной заставке до JRE, пользовательскому имени процесса и странице загрузки Java на случай, если не удается найти подходящий JRE.
– Веб-сайт Launch4j
Ответ 3
ОБНОВЛЕНИЕ: GCJ мертв. Он был официально удален из проекта GCC в 2016 году. Даже до этого от нее практически отказались на семь лет, и в любом случае она никогда не была достаточно полной, чтобы служить жизнеспособной альтернативной реализацией Java.
Найдите другой компилятор Java AOT.
GCJ: компилятор GNU для Java может компилировать исходный код Java в машинный код, включая исполняемые файлы Windows.
Хотя не все в Java поддерживается в GCJ, особенно компоненты GUI (см. Какие Java API поддерживаются? Насколько полная поддержка? вопрос из FAQ). Я не часто использовал GCJ, но, судя по ограниченному тестированию, которое я провел с консольными приложениями, все в порядке.
Одним из недостатков использования GCJ для создания автономного исполняемого файла является то, что размер результирующего EXE-файла может быть довольно большим. Однажды я скомпилировал обычное консольное приложение в GCJ, и в результате получился исполняемый файл размером около 1 МБ. (Могут быть способы обойти это, о которых я не знаю. Другим вариантом могут быть программы сжатия исполняемых файлов.)
С точки зрения установщиков с открытым исходным кодом, Nullsoft Scriptable Install System - это программа установки с использованием сценариев. Если вам интересно, есть примеры, предоставленные пользователями, о том, как определить наличие JRE и установить его автоматически, если требуемый JRE не установлен. (Просто чтобы вы знали, я раньше не использовал NSI.)