Как сделать exe файл в java

Создание exe-файла из jar

Пользователям Windows привычнее использовать исполняемое приложение в виде exe-файла, нежели архивного jar-файла. Разработчики настольных java-приложений могут плагином launch4j не только обернуть исполняемый архивный jar-файл в оболочку exe-файла, но и включить в него иконку, автора, версию. Также данный плагин позволяет определить минимальную версию используемой JRE. В данной статье рассмотрим использование maven-плагина launch4j для получения exe-файла.

Описание java-примера

В качестве java-примера используем pluggable решение, включающее несколько jar-файлов. На следующем скриншоте представлена структура нашего экспериментального примера. Три файла, выделенные красным прямоугольником и относящиеся к задаче создания исполняемого exe-файла, рассмотриваются ниже.

Несколько слов о структуре примера. Описание с исходными кодами данного java-примера представлено на странице Pluggable решение. Желающие могут поближе познакомиться с технологией динамической загрузки jar-файлов (классов), открыв страницу с подробным описанием исходников. На «выходе» данного примера получаем главный исполняемый модуль plugin-loader.jar, который использует common/plugin-api.jar для загрузки при необходимости (вызове) плагинов plugins/hello1.jar и plugins/hello2.jar.

Графический интерфейс примера, представленный на следующем скриншоте, включает 2 кнопки с надписями ‘Plugin1’ и ‘Plugin2’. При нажатии на одну из кнопок приложение подгружает необходимый плагин, который меняет надпись на кнопке.

Сообщения в консоли

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

Изменения в исходных кодах

Необходимо отметить, что в модули PluginLoader.java и Boostrap.java были внесены изменения. Так в PluginLoader.java добавлена метка JLabel с отображением в интерфейсе версии Java :

В класс Boostrap.java внесены изменения, связанные с чтением классов (*.class) из jar’ника, а не из директории bin, как это представлено в исходных кодах. Если этого не сделать, то придётся с собой ещё «таскать» и директорию bin с class’ами.

Листинг класса Boostrap.java

В главный класс Boostrap внесены изменения определения url : ниже исходной закомментированной строки размещается код определения url в jar-файле.

Оборачивание исполняемого jar в exe-файл

Обычно плагин maven.plugins.launch4j включают в проектный pom.xml файл, в котором формируется и исполняемый jar-файл. Поскольку основная цель данной статьи наглядно продемонстрировать возможность оборачивания jar в exe, то уберем из проектного pom.xml все лишнее, что связано с формированием jar-файла. Правильнее сказать создадим такой pom.xml, который и будет решать основную задачу оборачивания jar в exe.

Cледующий листинг проектного файла pom.xml решает данную задачу. Сам pom.xml существенно упростился и стал более наглядным. В разделе

определяются наименование компании (product.company) и наименование исполняемого файла (exeFileName), а также минимальная версия jdkVersion. Основные настройки плагина определяются в разделе . В секции указываются jar-файл, exe-файл (outfile) и иконка испольняемого файла (icon). Плагин будет ругаться, если не укажете наименование иконки. Следует отметить, что в секции необходимо указать главный стартуемый java-класс (mainClas).

Читать еще:  Как сделать дренаж для цветов в горшке

На следующих скриншотах представлены вкладки свойств созданного PluginLoader.exe.

Скачать исходники

Вы можете скачать исходники рассмотренного примера (40.1 Кб), включающего как jar-файлы, так и exe-файл с проектными pom.xml.

Процесс автоматизации сборки данного примера рассмотрен на странице описания Многомодульного maven проекта.

Вопрос по jar, java, exe &#8211 Как я могу преобразовать файл JAR в файл EXE?

Я хочу создать файл JAR и хочу запустить его на клиентском компьютере. Итак, у меня есть пара вопросов:

Как я могу преобразовать файл JAR в файл EXE?Как я могу зашифровать содержимое файла JAR? Файл jar может быть извлечен с помощью WinRAR, а классы могут быть декомпилированы любым декомпилятором Java.Как я могу создать установщик? У моих клиентов нет JVM, и я не хочу отправлять JDK или JRE, потому что они имеют большой размер.

Java для Exe, Это также объясняет, что является веским основанием для этого, а когда нет.

Вы не можете зашифровать двоичные файлы, так как машина должна их понимать. Тем не менее, оптимизированный исполняемый файл очень сложно декомпилировать, в то время как простые файлы классов просты.

Если у вас есть exe, то достаточно инсталляторов.

ткрытым исходным кодом. Он упакует ваш jar, версию jre, поэтому для устанавливающих систем не обязательно устанавливать jre и самораспаковывающую версию 7zip. Вотруководство который объясняет, как связать и GitHubссылка на сайт Проект не поддерживается, но работает отлично (проверено до Java 1.8)

Launch4j работал для меня, в то время как некоторые инструменты не работали. У этого также есть хороший гидВот.

Надеюсь, это поможет!

это также позволяет вам проверить, доступна ли правильная версия JRE в системе, на которую вы развертываете

Эксельсиор JET удовлетворит ваши потребности.) ИМХО очень зрелый продукт.

jarToExe и нравится Некоторые функции:

бесплатная базовая версия или очень дешевая ($ 30) для «предприятия»возможность иметь в диспетчере задач Windows список вашего приложения вместо java.exe по умолчаниюдополнительное запутываниепроверка во время выполнения, что Java установлен

2) Вы можете сделать этоСильнее перепроектировать, используяProGuard или другой обфускатор

3)НСИ это очень мощный, бесплатный язык сценариев для создания установщиков Windows. Хорошая документация на сайте и поддержка переполнения стека.

Читать еще:  Игра что сделать этому фанту

я думаю, вы не можете. Там могут быть инструменты, но вы не можете сделать это с помощью стандартных инструментов, поставляемых с JDK, так как это разрушит независимость платформы. (Смотрите другие ответы, предоставляя ссылки на такие сторонние инструменты)

Что касается 3): используйте InnoSetup для создания установщика. Включите JRE в настройку и дайте InnoSetup установить его на лету.

Как я могу преобразовать свою программу Java в an.exe файл? [закрытый]

Если у меня есть исходный файл Java (*.Java) или файл класса (*.class), как я могу преобразовать его в a .exe файл?

Мне также нужен установщик для моей программы.

13 ответов

Исполняемый Файл Jar

см. также распространение вашего приложения в качестве исполняемого файла JAR и Oracle docs о том, как создать файл jar, который может быть выполнен с двойным щелчком мыши на Windows.

JSmooth

(EDIT: последний выпуск был в 2007 году)

JSmooth-это исполняемая оболочка Java. Он создает собственные пусковые установки Windows (стандарт. exe) для ваших приложений java. Это делает развертывание java намного более плавным и удобным для пользователя, так как он может найти любую установленную Java VM сам по себе.

JexePack

(EDIT: Shareware: последнее обновление в версии 08/29/2013-8.4)

JexePack-это инструмент командной строки (отлично подходит для автоматизированных сценариев), который позволяет вам упаковать ваше приложение Java (файлы классов), необязательно вместе с его ресурсами (например, GIF / JPG/TXT / etc), в один сжатый 32-разрядный Windows EXE, который работает с использованием среды выполнения Java Sun. Поддерживаются как консольные, так и оконные приложения.

LaunchAnywhere

(EDIT: Коммерческая с бесплатной пробной версией, последняя версия с 2012 года)

исполняемый файл LAX-это исполняемый файл, который используется для запуска приложения Java на любой платформе, совместимой с LaunchAnywhere. В настоящее время InstallAnywhere создает LaunchAnywheres в Windows 95/98/NT/2000 / Me, Solaris, Linux и Mac OS X. LaunchAnywhere позволяет конечным пользователям дважды щелкнуть значок (Windows или Mac OS X) или ввести одну команду (UNIX) для запуска приложения Java.

Launch4j-это кросс-платформенный инструмент для упаковки Java-приложений, распределенных как банки в облегченных исполняемых файлах Windows. Исполняемый файл можно настроить для поиска определенной версии JRE или использовать в комплекте, и можно установить параметры выполнения, такие как начальный/максимальный размер кучи. Обертка также обеспечивает лучший пользовательский интерфейс через значок приложения, родной экран заставки pre-JRE, пользовательский процесс имя и страница загрузки Java в случае, если соответствующая JRE не может быть найдена.

GCJ: компилятор GNU для Java можно скомпилировать исходный код Java в машинный код, включая исполняемые файлы Windows.

Читать еще:  Как сделать звук на компе

хотя не все в Java поддерживается в GCJ, особенно компоненты GUI (см. какие API Java поддерживаются? Насколько полная поддержка? вопрос часто задаваемые вопросы). Я не использовал GCJ много, но из ограниченного тестирования, которое я сделал с консольными приложениями, это кажется прекрасным.

один недостатком использования GCJ для создания автономного исполняемого файла является то, что размер результирующего EXE может быть довольно большим. Однажды я скомпилировал тривиальное консольное приложение в GCJ, и результатом стал исполняемый файл размером около 1 МБ. (Возможно, есть способы обойти это, о которых я не знаю. Другой вариант-исполняемые программы сжатия.)

с точки зрения установщиков с открытым исходным кодом,Nullsoft Scriptable Установить Систему является сценарием установки. Если вам интересно, есть пользователь внес примеры о том, как обнаружить наличие JRE и установить его автоматически, если требуемый JRE не установлен. (Просто чтобы вы знали,я раньше не использовал NSIS.)

для получения дополнительной информации об использовании NSIS для установки приложений Java, пожалуйста, взгляните на мой ответ на вопрос “каков наилучший способ распространения приложений Java?”

вы можете попробовать многие Java-оболочки, такие как JSmooth, JWrapper и другие утилиты, но вы также можете сделать .bat со следующим кодом:
start javaw -jar JarFile.jar
и преобразуйте bat в exe, используя любой .битой .exe конвертер.

мы используем Install4J для создания инсталляторов для сред windows или unix.

Это легко настраивается до точки, где вы хотите писать сценарии для специальных действий, которые не могут быть сделаны со стандартными диалогами. Но даже если мы настраиваем службы windows с его помощью, мы используем только стандартные компоненты.

  • установщик + launcher
  • windows или unix
  • сценарий на Java
  • ant задача
  • много настраиваемых стандартных панелей и действий
  • дополнительно включает или загружает JRE
  • также можно запустить службы windows
  • нескольких языках

Я думаю, что Launch4J из той же компании (только лаунчер без установщика).

ЗЫ: к сожалению мне не платят за это одобрение. Мне просто нравится этот инструмент.

последние Java Web Start было увеличено для того чтобы позволить хорошей автономной деятельности так же, как позволять “местной установке”. В этом стоит разобраться.

EDIT 2018: Java Web Start больше не поставляется в комплекте с новейшими JDK. Oracle подталкивает к” развертыванию вашего приложения локально с закрытой моделью JRE”.

Источники:

http://java-online.ru/maven-launch4j.xhtml

http://vike.io/ru/287424/

http://askdev.ru/q/kak-ya-mogu-preobrazovat-svoyu-programmu-java-v-an-exe-fayl-zakrytyy-2346/

Ссылка на основную публикацию
Статьи на тему: