Что такое исполняемый файл в Java

Обновлено: 21.11.2024

В этом руководстве рассказывается, как преобразовать программу Java в исполняемый файл jar на Java, а также приведены некоторые примеры кода для понимания темы.

  • команда jar
  • IDE (Eclipse, IntelliJ IDEA)
  • Некоторые инструменты, такие как javapackager, WinRun4J, packr, JSmooth, JexePack, InstallAnywhere, Launch4j и т. д.

Сделать исполняемый файл Java с помощью команды JAR

Мы начнем с более простого метода, для которого требуется всего одна команда, которую нужно запустить через терминал. Мы будем использовать скомпилированный файл Java, поэтому сначала обязательно скомпилируйте файл. Затем мы откроем терминал, напишем следующую команду и нажмем Enter.

Здесь jar — это команда.

-cvf — это флаг, представляющий copy , verbose , file соответственно.

jarfile.jar — это имя JAR-файла, который мы хотим создать.

MainJavaFile — это основной файл Java, который будет использоваться в качестве исходного файла.

После выполнения этой команды создается JAR-файл, содержащий файл menifest.mf. Это специальный файл, содержащий информацию о файлах, упакованных в JAR-файл.

Нам нужно открыть это и указать путь выполнения основного класса, например:

Запишите эту строку в файл, сохраните и выйдите, а затем выполните эту команду, чтобы запустить файл JAR в терминале.

Он запустит код Java и отобразит выходные данные на консоли или откроет новое окно, если файл JAR принадлежит графическому приложению, такому как Swing или JavaFX.

Создание исполняемого файла Java с помощью IDE

Мы можем использовать любую IDE для создания файла JAR из файла Java. Здесь мы будем использовать Eclipse IDE для создания JAR. Он включает следующие шаги.

Перейдите в меню "Файл" и выберите "Экспорт"
Выберите исполняемый JAR-файл
Выберите файл Java в раскрывающемся списке Launch Configuration
Выберите место для хранения JAR и
Выполнить JAR

Чтобы создать JAR с помощью Elipse IDE, выполните описанные выше шаги, и вы получите JAR.

Создание исполняемого файла Java с помощью внешних инструментов и библиотек

Это кроссплатформенный инструмент для упаковки Java-приложений в виде JAR-файлов в легкие исполняемые файлы Windows. Можно установить параметры времени выполнения, например начальный/максимальный размер кучи.

Статьи DelftStack написаны такими же фанатами программного обеспечения, как и вы. Если вы также хотите внести свой вклад в DelftStack, написав платные статьи, вы можете посетить страницу «Написать для нас».

сообщить об этом объявлении

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

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

простой хак для апплетов: напишите код C с main и вызовом функции "system", например system("appletviewer java_src_file");

По состоянию на 2021 год GraalVM представляет собой интересный способ компиляции Java в машинный код, официально поддерживаемый Oracle.

16 ответов 16

javapackager

Инструмент Java Packager компилирует, упаковывает и подготавливает приложения Java и JavaFX к распространению. Команда javapackager — это версия командной строки.

– документация Oracle

Утилита javapackager поставляется с JDK. Помимо прочего, он может создавать файлы .exe с флагом -native exe.

WinRun4J

  • Использует файл INI для указания пути к классам, основного класса, аргументов vm, аргументов программы.
  • Пользовательское имя исполняемого файла, которое отображается в диспетчере задач.
  • Дополнительные аргументы JVM для более гибкого использования памяти.
  • Встроенный заменитель значка для пользовательского значка.
  • [дальше следуют дополнительные пункты]

WinRun4J — это утилита с открытым исходным кодом. Он имеет много функций.

упаковка

Упаковывает ваши файлы JAR, ресурсы и JVM для распространения в Windows, Linux и Mac OS X, добавляя собственный исполняемый файл, чтобы он выглядел как собственное приложение. Packr больше всего подходит для приложений с графическим интерфейсом.

– README для packr

packr — еще один инструмент с открытым исходным кодом.

JSmooth

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

– веб-сайт JSmooth

JSmooth имеет открытый исходный код и имеет функции, но он очень старый. Последний выпуск был в 2007 году.

JexePack

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

– веб-сайт JexePack

JexePack — это пробная версия.Для производственного использования требуется оплата, и файлы exe, созданные с помощью этого инструмента, будут отображать «напоминания» без оплаты. Кроме того, последний выпуск был в 2013 году.

Установить где угодно

InstallAnywhere позволяет разработчикам легко создавать профессиональное программное обеспечение для установки для любой платформы. С InstallAnywhere вы сможете быстро адаптироваться к изменениям в отрасли, быстрее выйти на рынок и обеспечить привлекательный опыт работы с клиентами. И узнайте об уязвимости компонентов OSS вашего проекта перед отправкой.

– веб-сайт InstallAnywhere

InstallAnywhere – это коммерческий/корпоративный пакет, который создает установщики для программ на основе Java. Вероятно, он способен создавать файлы .exe.

Исполняемые файлы JAR

В качестве альтернативы файлам .exe вы можете создать файл JAR, который автоматически запускается при двойном щелчке, добавив точку входа в манифест JAR.

Отличным источником информации по этой теме является статья Excelsior "Преобразовать Java в EXE - почему, когда, когда нет и как".

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

– веб-сайт Launch4j< /p>

ОБНОВЛЕНИЕ: GCJ мертв. Он был официально исключен из проекта GCC в 2016 году. Еще до этого он был практически заброшен в течение семи лет, и в любом случае он никогда не был достаточно завершен, чтобы служить жизнеспособной альтернативной реализацией Java.

Иди и найди другой компилятор Java AOT.

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

Хотя GCJ поддерживает не все компоненты Java, особенно компоненты графического интерфейса (см. Какие Java API поддерживаются? Насколько полной является поддержка? вопрос из FAQ). Я мало использовал GCJ, но, судя по тому ограниченному тестированию, которое я провел с консольными приложениями, все в порядке.

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

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

Дополнительную информацию об использовании NSIS для установки приложений Java см. в моем ответе на вопрос "Как лучше всего распространять приложения Java?"

Разработка GNU Java в значительной степени переместилась в OpenJDK, поскольку исходные коды, отличные от Oracle, не могли получить доступ к TCK для проверки.

Вы можете создать пакетный файл со следующим кодом:

и преобразовать .bat в .exe с помощью любого конвертера .bat в .exe.

Мы используем Install4J для создания установщиков для сред Windows или Unix.

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

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

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

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

Последняя версия Java Web Start была улучшена, чтобы обеспечить хорошую работу в автономном режиме, а также возможность «локальной установки». Это стоит изучить.

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

Очевидно, безопасность JWS настолько усилена, что для ее запуска требуется гораздо больше усилий, чем раньше. Тем не менее, это может быть полезно для установщиков.

@hiran это переработанная версия, а не настоящая. Также он не поставляется в комплекте, что было настоящим преимуществом

ИМХО JSmooth, похоже, неплохо справляется со своей задачей.

Если вам нужно преобразовать все ваше приложение в машинный код, то есть в EXE плюс библиотеки DLL, есть ExcelsiorJET. Я обнаружил, что это работает хорошо, и предоставил альтернативу пакету JRE.

EDIT: это было опубликовано в 2010 году — продукт больше не доступен.

Я бы сказал, что launch4j — лучший инструмент для преобразования исходного кода java (.java) в файл .exe. Вы даже можете связать с ним jre для распространения, а exe-файл можно даже обозначить значком. Хотя размер приложения увеличивается, это гарантирует, что приложение будет работать идеально, даже если у пользователя не установлена ​​jre. Это также гарантирует, что вы можете предоставить конкретную jre, необходимую для вашего приложения, без необходимости установки пользователем отдельно. Но, к сожалению, java теряет свое значение. Его многоплатформенная поддержка полностью игнорируется, а окончательное приложение поддерживается только для Windows. Но это не имеет большого значения, если вы обслуживаете только пользователей Windows.

Вы можете использовать Джанель. Последнее работает как средство запуска приложений или служб (доступно с версии 4.x).

Начиная с JDK14, jpackage заменяет javapackager, упомянутый в ответе @Jay. Для версии Windows требуется Wix 3.0, и довольно просто взять приложение Java и создать установщик, который предоставляет средство запуска EXE.

Его также можно использовать с jlink для создания урезанного образа среды выполнения Java, который связан с установщиком и содержит только набор модулей, необходимых для поддержки вашего приложения. Шаг jlink также будет выполняться jpackage неявно, если среда выполнения не указана, но я предпочитаю создавать образ JRE отдельно, так как он изменится только при обновлении JDK или добавлении новых зависимостей модулей в проект.

Пример main для класса Java:

Запустите программу установки:

Протестируйте приложение:

Кроме того, вы можете использовать транслятор java-to-c (например, JCGO) и скомпилировать сгенерированные файлы C в собственный двоичный файл (.exe) для целевой платформы.

Я очень скептически отношусь к эффективности этого метода. Мне нужно увидеть это, чтобы поверить (подумайте о том факте, что большая часть кода Java представляет собой вызовы API для JRE, и всего этого нет в C, не говоря уже о различиях в том, как работает язык).

Меня можно простить за то, что я против преобразования Java-программы в приложение .exe, и у меня есть свои причины. Основной из них заключается в том, что java-программа может быть скомпилирована в файл jar из многих IDE. Когда программа имеет формат .jar, она может работать на нескольких платформах, в отличие от .exe, которая будет работать только в очень ограниченной среде. Я за то, чтобы Java-программы не преобразовывались в Exe, если в этом нет крайней необходимости. Всегда можно написать файлы .bat, которые запускают программу Java, пока это файл jar.

если действительно нужно преобразовать его в exe, конвертер Jar2Exe молча сделает это, а также можно подключить библиотеки, которые скомпилированы вместе с основным приложением.

Дело в том, что мощь Java заключается в переносимости, но многим людям нужен простой исполняемый файл Windows. Лично мне нравится концепция Java. но хотел бы распространять что-то, что могли бы запускать мои пользователи, не загружая JRE.

Вот в чем заключается сила Java, так как теперь с помощью нового инструмента javapackager вы можете упаковывать файлы jar в форматы, подходящие для всех систем Linux, macOS и Windows. Да, хорошо иметь возможность напрямую использовать файлы .jar, но это не очень удобно для пользователя. Вместо этого лучше обернуть его во все возможные форматы для всех систем, вместо того, чтобы ограничивать пользователя, например, .exe, и предоставлять их на веб-сайте продукта или любым другим способом распространения.

Вы можете преобразовать jar в exe с помощью jar2exe. Однако вам необходимо приобрести программное обеспечение. Если вам нужно программное обеспечение с открытым исходным кодом, я бы предложил JSmooth.

Предостережение. Многое изменилось в упаковке и развертывании с тех пор, как был задан этот вопрос. Большинство приведенных ответов даже не актуальны для JIGSAW (Java 9+).

Если целью является создание пакетов для конкретной ОС, информация содержится в Руководстве пользователя Oracle Docs Java 17 Packaging Tool. Это руководство включает документацию по инструменту jpackage, который позволяет создавать пакеты для конкретных платформ для Linux, macOS и Windows. Я предполагаю, что специфичные для Windows инструкции должны включать получение файла .exe, так как это остается наиболее привычным для пользователей Windows способом установки и запуска приложений.

Создание исполняемого файла jar с помощью инструмента jar

Инструмент jar предоставляет множество переключателей, некоторые из них следующие:

  1. -c создает новый файл архива
  2. -v генерирует подробный вывод. Он отображает включенный или извлеченный ресурс в стандартном выводе.
  3. -m включает информацию о манифесте из данного mf-файла.
  4. -f указывает имя файла архива
  5. -x извлекает файлы из файла архива

Теперь давайте напишем код для создания исполняемого jar-файла с использованием mf-файла.

Вам нужно написать jar, затем swiches, затем mf_file, затем jar_file, затем .classfile, как указано ниже:

Это показано на изображении ниже:

Теперь будет создан исполняемый файл jar. Если дважды щелкнуть по нему, он вызовет основной метод класса First.

Мы предполагаем, что вы создали любое оконное приложение с помощью AWT или SWING. Если вы этого не сделаете, вы можете использовать приведенный ниже код:

Посмотрим, как выглядит исполняемый jar-файл на изображении ниже:

Для просмотра видео присоединяйтесь к нашему каналу Youtube: присоединяйтесь сейчас

Отзыв

Помогите другим, поделитесь

Изучите последние руководства

Шаблоны проектирования Python

Подготовка

Тенденционные технологии

B.Tech / MCA

Службы Javatpoint

JavaTpoint предлагает слишком много высококачественных услуг. Напишите нам на [email protected], чтобы получить больше информации о предоставляемых услугах.

  • Дизайн веб-сайта
  • Разработка веб-сайта
  • Разработка Java
  • Разработка PHP
  • Вордпресс
  • Графический дизайн
  • Логотип
  • Цифровой маркетинг
  • Поисковая оптимизация на странице и за ее пределами
  • Контекстная реклама
  • Разработка контента
  • Корпоративное обучение
  • Обучение в классе и онлайн
  • Ввод данных

Подготовка к университетскому городку

Как создать исполняемый файл java jar? Я хочу просто дважды щелкнуть файл jar, и приложение должно запуститься, пожалуйста, помогите мне. Я хочу преобразовать свое Java-приложение в исполняемый файл Windows, как мне это сделать? Это два часто задаваемых вопроса.

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

Как создать исполняемый файл JAR?

JDK предоставляет нам инструмент для создания файлов jar.

Перед созданием файла jar Java нам нужно создать файл манифеста Java.

Команда для создания исполняемого файла Java jar:

jar -cvfm BundleExample.jar манифесты
t.txt com/javapapers/corejava/*.class

Как создать файл манифеста Java?

Как правило, файл манифеста находится в,

Этот файл манифеста содержит информацию о файле jar. Информация, например, какой основной класс Java должен выполняться, кто создал приложение, версия приложения и т. д.

Это обычный текстовый файл. Не забывайте нажимать ввод в конце каждой строки и, что особенно важно, в последней строке.

Итак, что касается создания исполняемого файла java jar, нам нужно добавить основной класс приложения, с помощью которого его можно запустить. Наш пример файла манифеста выглядит следующим образом:

Это единственная линия, которая у меня есть, и этого достаточно для нашей цели.

Пример заявки

Чтобы воспользоваться этим, нам нужен пример приложения Java. Давайте создадим простое свинг-приложение типа hello world.

Просто выполните следующую строку (команду), чтобы создать файл jar, вы должны были добавить JDK в PATH.

jar -cvfm BundleExample.jar манифесты
t.txt com/javapapers/corejava/*.class

Теперь мы можем дважды щелкнуть файл jar, и приложение запустится и запустится.

Как создать исполняемый файл Windows?

Если мы создадим собственный исполняемый файл Windows, мы потеряем независимость от платформы.

Давайте воспользуемся инструментом под названием Launch4J. Это хороший инструмент, хорошо работает и прост в использовании.

Его основные функции

  • создание облегченного собственного EXE-файла Windows
  • Контроль версий JRE
  • значок приложения
  • заставка
  • имя процесса
  • Страница загрузки Java

Загрузите Launch4J и с помощью графического интерфейса создайте исполняемый файл Windows/Java. Launc4J создает файл XML для сохранения конфигурации.

  • Я указал выходной файл, это имя создаваемого исполняемого файла.
  • Jar — это входной файл, который мы хотим объединить в исполняемый файл. Давайте воспользуемся JAR-файлом Java, который мы создали на предыдущем шаге.
  • На вкладке JRE мы можем указать минимальную требуемую версию JRE. Это обнаружит JRE, доступную в системе, и проверит, достаточна ли версия.
  • Нажмите значок шестеренки в меню, чтобы создать исполняемый файл.

Популярные статьи

Комментарии к статье «Создание исполняемого файла Java Jar и исполняемого файла Windows»

Замечательно…. Хорошая статья :-)

очень хорошая статья

спасибо, ищу…

Хорошая и простая статья, спасибо, сэр.
Пожалуйста, предоставьте процесс создания jar-файла через eclipse..

Полезная информация. Хорошая статья.
Спасибо, что поделились.

Спасибо, что поделились.
Хорошее руководство.

Полезно знать разработчикам.

Я не могу открыть файл.

когда я дважды щелкаю файл, я не получаю никакого вывода.

Хорошая работа.
Спасибо, сэр

Я видел, как люди тратили часы и дни, чтобы понять это... спасибо, что сделали это так ясно и просто.

если нам нужно создать программу списка меток и сохранить значение в серверной части. тогда как мы можем создать исполняемый файл для этого внутреннего процесса.

Я новичок на этом сайте, после просмотра вашего сайта я очень доволен.

большое спасибо, что тратите свое драгоценное время на таких людей, как я.

Ваше мнение о том, чтобы отдать предпочтение базовой Java, прекрасно.

Еще раз спасибо от всего сердца.

Отличная статья. У меня сложилось впечатление, что файл jar для exe невозможен.

Спасибо, я сомневаюсь, как создать .exe и как показать со значком. Это здорово…..

Действительно, это очень полезно для всех, а также красиво оформлено….. Спасибо….

Очень полезная статья.. Спасибо!!

Привет, Джо,
Спасибо за информацию о самораспаковывающемся Jar-файле. Можно ли создать исполняемый файл, содержащий самораспаковывающийся Zip-файл. Например, у меня есть ссылка для загрузки EXE-файла. После загрузки EXE, когда я открываю, он должен распаковать содержимое Zip и попросить пользователя выбрать место хранения.

Я много пробовал и гуглил, но не знаю, как это реализовать. Не могли бы вы дать какие-то советы или предложить мне. Есть ли способ реализовать это?

Ну, думаю, я уже все перепробовал. Я переустановил и Java, и JDK (с NetBeans), и все работает нормально. Я могу запустить свой файл Jar в командном окне Windows (7), набрав: java -jar myprog.jar

Однако я хочу иметь возможность запускать свою программу, дважды щелкнув ее. Я «открыл с помощью», просматривал и выбирал ….javabinjava.exe, но ничего не делал. Я думаю, это потому, что я не могу добавить часть «-jar». Фу!!

Опять же, это работает из командной строки, конечно же, с ключом -jar. Я где-то прочитал в сети, что я должен отредактировать реестр — я недостаточно знаю об этом и не хочу ничего «испортить», плюс, это не может быть так сложно!, я просто хочу, чтобы это выполнялось банку при двойном щелчке. Компьютер «должен» быть достаточно умным, чтобы знать «О, файл .jar, думаю, я запущу его с помощью java -jar».

Сделал все, что указано здесь, но сгенерированный файл .exe не может быть выполнен… Помогите мне

привет
ям чинна
добро пожаловать в эту статью

В части Runnable Jar:

Я сделал так, как сказано:
Это изначально не работало, но
заработало после того, как я добавил
Class-Path: . в файле манифеста

Эта статья помогла мне. Просто и понятно объяснил. Я давно искал этот контент

Launch4j вообще бесполезен, он просто меняет расширение и больше ничего

Я создал файл .exe, но не могу его запустить, помогите мне.
И будет ли запускаться этот exe-файл, если программе d нужны аргументы, взятые из аргумента командной строки

Уважаемый,
Как преобразовать файл uhtm в файл html

это действительно хорошо, спасибо..

пожалуйста, предоставьте учебник по Java для продвинутых пользователей.

Привет,
Мне удалось создать исполняемый файл. Но когда я запускаю его, в открытом приложении нет изображений. Как я могу это решить?
Пожалуйста, помогите..

Я могу создать .exe, но после двойного щелчка он не работает в Windows.
В файле класса я пытаюсь получить ввод с помощью «System.in»

Пожалуйста, дайте мне знать ваши комментарии.

Комментарии закрыты для «Создание исполняемого файла Java Jar и Windows Exe File».

Читайте также: