Как создать exe файл в java intellij idea
Перейти к содержимому

Как создать exe файл в java intellij idea

  • автор:

Как в intellije idea сделать исполняемый файл .exe? [закрыт]

Хотите улучшить этот вопрос? Переформулируйте вопрос так, чтобы он был сосредоточен только на одной проблеме.

Закрыт 3 года назад .

Все перепробовал, закомпиливается проект в .exe но он не запускается и даже никаких ошибок не выдаёт.

Прямого способа создать исполняемый файл .exe в Java нет, разве что Java FX(но не уверен, встречал в инете что можно), но можно создать файл с расширением .jar который также будет запускатся, а потом с помощью программы Launch4j, которая конвертирует файл .jar в .exe . Но, чтобы запустить файл с расширением .jar , на ПК должна быть установлена jdk. пример На youtube есть видео как делать jar файлы.

How do I create an executable file?

I've finally finished a very simple text based game, which I wrote to train all the concepts we've learned during first semester of Uni and after uploading the .java files(only 3, it's very simple) to Github, I decided to make an .exe file to try and send to a friend to show him my work.

Problem is I can't seem to find my way around the creation of artifacts. I tried making a .jar file and after a successful build, IntelliJ creates a .rar file, which contains my classes and a bunch of other files/libraries.

Using console commands, Java can't seem to find my .jar file, but IntelliJ's directory explorer shows it being there.

Reading stuff online, it says I need that .jar file to create an .exe and all video tutorials so far are on Linux machines, which confuses me a bit as I am on Win10.

I've been battling this issue for 2 hours now and I am at a loss. Any help is greatly appreciated.

Как создать автономный .exe на Java (который работает без установщика и JRE)

Как я могу создать автономный исполняемый файл Windows ( .exe ) для моего проекта JavaFX (я написал в IntelliJ IDEA) без установщика для моей программы? Я хочу, чтобы пользователь загрузил файл .exe и запустил его прямо из коробки, без установщика, даже если на его компьютере нет JRE . Это вообще возможно? Пока что я немного читал о следующих вариантах:

  • launch4j — кажется, что необходимые файлы JRE копируются вместе с .exe
  • install4j — создает установщик , который после запуска создает файл .exe .

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

3 ответа

Решение

Используйте warp-packer , чтобы создать exe из образа и созданного средства запуска приложений. по jlink .

  1. Скопируйте warp-packer по этой ссылке для скачивания .
  2. Сгенерируйте изображение для своего приложения с помощью jlink.

Затем создайте один исполняемый файл приложения. Это можно сделать с помощью одной команды (запустив ее в одной строке и используя ваши значения вместо переменных %% ):

Команду можно запустить из командной строки вручную или автоматически с помощью соответствующего плагина инструмента сборки.

Jlink можно вызывать любым способом, который лучше всего подходит для вашей среды сборки; например любой из: плагин maven, плагин gradle, утилита командной строки, jpackage или плагин инструмента сборки jpackage и т. д.

Похожий ответ

Эта идея не моя, она была предложена здесь:

Руководство

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

Описание решения

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

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

Ключевым моментом является предложение в комментариях «OH GOD SPIDERS» использовать инструмент «warp» для упаковки в сочетании с другими комментариями, предлагающими взаимодействие с ссылка.

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

В примере решения создается приложение JavaFX с помощью FXML. Пример мог бы быть проще и намного меньше, если бы он не включал FXML, но я подумал, что важно показать, как ресурсы работают с этим решением, поэтому FXML включен.

Ограничения

По замыслу это решение предназначено только для сборки Windows, и его необходимо запускать на компьютере с Windows как во время сборки, так и во время развертывания и выполнения.

Это будет работать только для приложений, которые полагаются на модули Java, имеющие определения module-info.java . Например, он не будет работать для приложения Spring или SpringBoot, если оно не является полностью модульным. Это так до Spring 6 или SpringBoot 3 с полной поддержкой модуля платформы Java.

Шаги высокого уровня

  • Приложение ДОЛЖНО иметь никаких автоматических зависимостей (само приложение и все транзитивные зависимости, на которые оно опирается, должны быть определены как модули Java с правильно определенными файлами module-info.java).

Свяжите приложение, чтобы создать образ среды выполнения со сценарием запуска.

  • Для связывания я использовал плагин openjfx JavaFX Maven.

Превратите runtime-образ со скриптом запуска в exe.

  • На этом шаге используется инструмент warp-packer , который можно запустить с помощью плагин maven exec.
    (не требует версии, включающей JavaFX). .
  1. Создайте файлы проекта, показанные ниже. на tools\warp-packer.exe .
  2. Соберите и упакуйте проект ( mvn package ).
  3. Запустите исполняемый файл приложения ( target/hellowarp.exe ), чтобы проверить его.
  4. Дайте исполняемый файл приложения друзьям с машинами Windows.
  5. Друзья смогут запустить исполняемый файл из командной строки или двойным щелчком мыши по исполняемому файлу.

Не требуется установка вашего приложения, не требуется распаковка или распаковка каких-либо архивов, не требуется установка среды выполнения Java и другие дополнительные установки. Все, что нужно, это скопировать исполняемый файл на компьютер с Windows (например, щелкнуть ссылку для загрузки в Интернете или скопировать исполняемый файл из почтового вложения), а затем дважды щелкнуть исполняемый файл, чтобы мгновенно запустить приложение.

Файловое дерево

Получение и установка деформации

Создайте новый каталог \tools в корне вашего проекта.

И скопируйте исполняемый файл warp (переименовав его) в следующее место:

Определение модуля платформы Java для приложения.

Класс контроллера JavaFX FXML.

Файл определения представления пользовательского интерфейса.

Скриншот работающего приложения hellowarp.exe

hello-screenshot

Часто задаваемые вопросы

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

Является ли это альтернативным методом распространения «толстой банке»?

Небольшое приложение, распространяемое в среде, где вы знаете, что пользователи работают под управлением Windows.

Могу ли я также упаковать свое приложение в качестве установщика MSI?

Да. Я сделал это с помощью akman jpackage-maven-plugin, и это сработало хорошо. Чтобы ограничить размер и объем, я не буду документировать это в этом ответе.

Было бы лучше использовать «git repo», «толстую банку», exe, упакованный установщик или «заархивированный» образ?

Это зависит от того, что вы делаете.

Если ваша цель — другие разработчики, создайте учетную запись на github, поместите туда свой проект и предоставьте разработчикам файл сборки maven или gradle, чтобы они могли собрать приложение из исходного кода в своей среде. Было бы хорошо просто упаковать приложение в виде стандартного файла jar (без толстого jar-файла). Любую созданную вами банку можно развернуть в центре maven. Используйте модуль-info.java для jar, чтобы его можно было связать через jlink с упакованными приложениями.

Если это школьный проект. Это зависит от предпочтения приема в школу. Возможно, им просто нужен исходный код в git, и это все, что вам нужно. Или, может быть, вы можете создать (тонкий) файл jar (или zip-архив с jar и его зависимостями), который вы предоставляете, зная, что в стандартных школьных системах уже установлено все соответствующее программное обеспечение Java/JavaFX.

Или, может быть, это известная среда ОС, например. Windows, Mac или Linux, и вы можете использовать jpackage для создания устанавливаемого пакета для одной (или двух) из этих сред.

Или, если это только окна, это решение упаковки в виде «exe» для распространения может работать хорошо.

Конфигурация «толстая банка» не поддерживается для разработки JavaFX. Я это не рекомендую. Вы можете заставить его работать (в настоящее время), и иногда это может быть удобно, но вам нужно будет решить, стоят ли того компромиссы, связанные с этим.

Если вы создаете коммерческий или популярный настольный продукт с открытым исходным кодом, создайте упакованные установщики с помощью такого инструмента, как отсутствует»> jpackage (или одна из коммерческих альтернатив или альтернатив с открытым исходным кодом) в формате, подходящем для ваших целевых платформ (например, msi или exe для Windows, rpm и deb для linux, dmg для mac). Вы можете развернуть эти упакованные форматы в магазинах приложений Windows или Mac или в репозиториях yum/apt Linux.

Если это мобильное развертывание, используйте gluon mobile.

Могу ли я использовать подключаемый модуль Apache jlink Maven вместо подключаемого модуля OpenJFX Maven.

плагин Apache jlink Maven в настоящее время не работает (с JavaFX 17.0. 1 и подключаемый модуль Apache jlink 3.1.0).

Когда я попытался использовать плагин Apache jlink Maven, он запутался в определениях модулей платформы JavaFX. Плагин Apache jlink начал работать со странными именами фантомных модулей, такими как javafx.graphicsEmpty , которые он обрабатывал как автоматические модули и передал jlink, поэтому jlink отказался их связывать. Я не мог найти способ обойти эту проблему.

Когда я дважды щелкаю исполняемый файл, появляется пустое окно с именем exe в строке заголовка в дополнение к окну моего приложения.

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

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

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

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

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

Да, я верю в это.

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

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

Чтобы упаковать для машины, отличной от Windows, вам нужно будет ввести соответствующий вывод изображения jlink для целевой операционной системы в warp-packer, а затем запустить соответствующую утилиту warp-packer (я полагаю, в целевой ОС), чтобы создать единственный исполняемый файл для выполнения на этой целевой ОС.

Если интересно, смотрите документацию по warp-packer и jlink.

Каков размер сгенерированного исполняемого файла?

Для примера приложения размер сгенерированного исполняемого файла приложения составлял 34 мегабайта.

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

Могу ли я создать exe для немодульного проекта Java.

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

Абсолютное требование создать exe — неправильный поступок, но если нужно, тогда https: // docs. gluonhq.com/ — единственный разумный путь. В противном случае вам следует взглянуть на jpackage вместе с jlink. И забудьте все эти разговоры о толстых банках и других вариантах. В наши дни приложения JavaFX не строятся.

Для этого вы должны создать толстую банку (если у вашего java-приложения есть зависимости), а если у него нет зависимостей, просто оставьте его как есть, а затем используйте launch4j. Чтобы создать толстую банку, сделайте следующее:

Добавьте этот фрагмент кода в свой файл build.xml:

В Java IDE щелкните правой кнопкой мыши build.xml -> Выполнить цель -> Другие цели -> пакет для магазина .

Вы найдете свою толстую банку внутри своего проекта в папке магазина.

Укажите выходной файл (с расширением .exe)

Укажите где у вас толстая банка

(При необходимости добавьте другие параметры, например: значок, версия jre . ) -Дополнительно-

Как создать exe файл в java intellij idea?

Как создать новый файл в IntelliJ IDEA? Чтобы создать проект, необходимо нажать в меню File -> New -> Project… Далее, в открывшемся окне, нужно выбрать тип проекта. IntelliJ IDEA поддерживает несколько — выбираем Maven в левом боковом меню.

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

Как создать исполняемый jar в Intellij IDEA?:

  • File — Project Structure — Project Settings — Artifacts — Кликаем по кнопке + — Jar — From modules with dependencies.
  • Выбираем главный класс проекта и жмем ОK.
  • После этого собираем Jar файл: Build — Build Artifact.
  • Это создаст.

Как создать класс в Java в IntelliJ IDEA?

Создать класс Java

Разверните Project и выберите каталог src из модуля. Щелкните по нему правой кнопкой мыши; выберите опцию New-> Java Class. Введите имя класса в диалоговом окне и нажмите кнопку ОК.

Как открыть файл JAR с помощью IntelliJ IDEA?

  • Intellij Idea >>> File >>> Project Structure >>> Artifacts.
  • Нажимаете + Выбираете >>> JAR >>> From modules with dependencies >>> Main Clas.
  • Выбираете Main >>> установите галочку на extract to output target JAR >>> OK >>> В Output directry выберите где будет находится файл

Как создать файл с помощью java?

Используйте класс java.

При установлении объекта File вы указываете название файла и дальше используйте метод createNewFile(), который атомарно создает новый пустой файл с названием абстрактного пути, но только в случае, если файл с таким названием не существует.

Какая IDE лучше для java?

Eclipse.

Eclipse — это лучшая бесплатная IDE для разработчиков JAVA и в основном написанная на Java. Она используется в различных платформах для создания мобильных приложений, настольных программ, веб-сайтов. Многие разработчики предпочитают эту IDE для программирования на Java. Поддержка Java 8.0 и 9.0.

Как собрать jar файл в IDEA?

Как создать jar файл в idea?:

  • Project Settings, вкладка Artifacts.
  • В панели слева — содержимое JAR-файла, в панели справа — содержимое проекта.
  • Указываем имя для файла и директорию назначения над панелями
  • Нажимаем на кнопку create manifest под левой панелью, создаем manifest.

Для чего нужен jar?

JAR расшифровывается как Java ARchive — архив Java. Если не особо вдаваться в подробности (что в общем-то часто и происходит в реальности), то JAR-файл представляет собой обычный ZIP-файл с некоторыми дополнениями. Основная задача этого архива — хранить файлы с классами.

Как установить расширение в IntelliJ IDEA?

Чтобы установить плагин, просто перейдите к Settings > Plugins, кликните на Browse repositories и выберите со списка Jelastic плагин. Затем скачайте и установите его.

На каком языке написана IntelliJ IDEA?

Как писать код на Java?

Правила написания кода на Java:

  • В именах пакетов используются только строчные буквы.
  • Имена Java-классам даются согласно стандартной нотации Java.
  • Имена классов должны быть существительными, первые буквы всех слов — заглавные.
  • В именах web-папок и файлов используются только строчные буквы.

Как добавить jar в Java?

Щелкните правой кнопкой мыши на проекте и выберите Свойства > Путь компоновки Java > Библиотеки. Нажмите кнопку Добавить JAR и укажите JAR, только что добавленный в проект модуля. Закройте коне Свойства.

Как подключить jar файл?

Подключение jar-библиотек в Java

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

Как запустить программу Java в IntelliJ IDEA?

Для запуска класса в в Intellij Idea достаточно нажать на зеленый треугольник рядом с ним. В этом классе обязательно должен быть метод main(), это точка входа в нашу программу. Не нужно компилировать и запускать руками, система сборки сама все сделает.

Как запустить java файл?

Java. Консоль вызывается так: щелкаем правой клавишей мыши с зажатой клавишей Shift на пустом месте в папке, где лежит файл нашей программы, и выбираем пункт контекстного меню «Открыть окно команд». Эта команда вызовет компилятор, который создаст файл Main. class, содержащий скомпилированный код нашей java программы.

Как запустить проект в Java?

Для запуска программы на Java в режиме отладки выполните следующие действия:

  • В панели Структура пакетов выберите единицу компиляции Java или файл класса, содержащий метод main для запуска.
  • Нажмите кнопку Отладить [
  • После этого запускается программа, а запущенный процесс появляется в панели Отладка.

Как открыть проект в Java?

Если ни один проект в данный момент не открыт, нажмите кнопку Create New Project на экране приветствия. В противном случае, выберите пункт New Project в меню File. В результате откроется мастер создания проекта. В левой панели выберите Java Module.

Как создать свою библиотеку в Java?

[[Создание проекта библиотеки классов Java]]

Выберите команду «Файл» > «Создать проект» (CTRL+SHIFT+N). В области «Категории» выберите «Java». В области «Проекты» выберите «Библиотека классов Java».

Как сделать jar с помощью Maven?

Чтобы создать jar файл нам потребуется добавить в конфигурационный Maven файл pom. xml. Если вы попытаетесь собрать проект Maven, Maven упакует этот проект в «jar» файл с именем «projectMy-1.0. jar», найти этот файл вы можете в корне проекта в папке target.

Где IntelliJ IDEA хранит JDK?

Что такое JDK Что в него входит?

Java Development Kit (сокращенно JDK) — бесплатно распространяемый компанией Oracle Corporation (ранее Sun Microsystems) комплект разработчика приложений на языке Java, включающий в себя компилятор Java (javac), стандартные библиотеки классов Java, примеры, документацию, различные утилиты и исполнительную систему

Как правильно открыть проект в IntelliJ IDEA?

С помощью зеленой стрелки на панели инструментов или через меню Run -> Run запустим проект. И внизу IntelliJ IDEA отобразится окно вывода, где мы можем увидеть результат работы нашей программы.

Как в IntelliJ IDEA заменить все?

Как известно, чем лучше IDE, тем приятней в ней работать.2. Поиск / замена

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *