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

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

  • автор:

Как в IntelliJ IDEA написать и собрать в исполняемый .exe файл приложение на JavaFX

https://psiola-center.ru/wp-content/uploads/8/1/1/81134bcfd8aedee7cf9ebe292a83861f.jpeg

Как я уже писала в своей предыдущей статье, недавно, после двухлетнего обучения (обещали 12 месяцев, но жизненные и геополитические обстоятельства внесли свои коррективы в сроки получения дополнительного образования), я стала java-разработчиком.

Завершение обучения требовало написания выпускного проекта, которым я, изрядно поразмыслив, решила «убить сразу несколько зайцев»:

проект должен быть написан мной самостоятельно (без команды),

быть законченным и полноценным с точки зрения «бэка и фронта»,

функционал проекта должен нести какую-то информативную пользу,

проект станет подарком на день рождения.

Вспомнив все, чему меня «пытались научить», я решила, что за 1,5 месяца, отведенных на выпускную работу (с учетом загруженности по основному месту своей занятости), я вполне самостоятельно справлюсь с написанием оконного приложения для рабочего стола по предоставлению пользователю текущих и прогнозных значений погоды. Оболочку приложения решила выполнить на JavaFX, а для получения данных о погоде использовать JSON.

Когда я выслала преподавателю техническое задание с характеристиками проекта, он, восседая на удобном кресле где-то в пригороде германского города Мюнхен, меня, великовозрастную студентку из Санкт-Петербурга, «обрадовал и окрылил» тем, что знания по JavaFX в реальной жизни мне не пригодятся, и я рискую впустую потратить время…

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

Процесс и трудности, с которыми пришлось столкнуться

Не особо вдумываясь в тонкости платформы JavaFX и ее представлении в выпусках Java-8, я решила писать приложение на JDK-1.8 в среде разработки IntelliJ IDEA Community Edition, используя maven.

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

и, нажав на кнопку «Next», получила неожиданное для себя сообщение:

Да-да, я не знала той тонкости, что JavaFX, представленный как часть выпуска Java-8, был удален из JDK и перенесен в отдельный модуль в Java-11.

Ну что же, начав все сначала, я выбрала JDK-11.0.2, и у меня чудесным образом создался проект с необходимыми классами и ресурсными файлами, со всеми нужными зависимостями и способами сборки, автоматически прописанными в pom.xml файле:

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

Далее была длительная полуторамесячная работа над проектом, в процессе которой:

я внесла изменения в базовый код, сформированный IntelliJ IDEA автоматически,

создала сцены с помощью JavaFX Scene Builder 2.0,

установила получение информации по JSON,

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

С финальной версией проекта и демонстрацией его возможностей можно ознакомиться на GitHub.

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

Но, не забываем, программа должна была стать подарком на день рождения. У именинника не установлена Java, чтобы запустить jar-файл проекта и наслаждаться результатом работы приложения. Значит, нужно собрать проект в исполняемый .exe файл, который будет запускаться на любом устройстве с установленной системой Windows.

«Ерунда какая!» — подумала я, — «У меня же IntelliJ IDEA, она все сама соберет и подскажет, в случае чего».

Захожу в File -> Project Settings -> Artifacts -> JavaFx application -> From Module ‘имя модуля’

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

Заполняю сведения об основном классе, который запускает приложение (поле Application class):

В той же вкладке указываю значение «all» в поле Native bundle и применяю настройки:

После вхожу в режим Build -> Build Artifacts, выбираю только что созданный артефакт и… получаю сообщение, что используемая версия JDK не способна собрать мой проект в необходимый пакет:

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

1. Заменила в pom.xml файле версию Java 11 на 8, обновилась:

2. В File -> Project Structure -> Project указала корректную версию используемой SDK:

https://amdy.su/wp-admin/options-general.php?page=ad-inserter.php#tab-8

3. Закомментировала (можно удалить) файл module-info.java, сформированный Java-11 автоматически при создании проекта:

4. Проверила, запускается ли приложение до сборки:

5. Описанными выше способами снова создала и собрала артефакт. Но! – опять получила ошибку:

6. После непродолжительных поисков причины я поняла, что на ноутбуке, на котором написана моя программа, собрать ее в исполняемый .exe файл у меня пока не получится, т.к. в наименовании пути к директории не должно быть ни кириллицы, ни специальных символов:

И изменение имени учетной записи Windows вручную не приведет к изменению имени пользовательской папки.

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

Запускаемый .exe файл располагается в папке out\artifacts\название артефакта\bundles\название проекта:

Вместо заключения

При кажущейся простоте создания приложения на JavaFX (особенно с помощью JavaFX Scene Builder 2.0 и бесплатных видео-уроков на различных ресурсах), написание функционала программы – это только половина пути. Программа должна работать, жить своей жизнью самостоятельно, без привязки к среде разработки. И, как показывает мой личный опыт, при сборке проекта и выпуске его в «большой мир» приходится преодолевать немало терний.

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

Закрыт. Данный вопрос необходимо конкретизировать. Ответы на него в данный момент не принимаются.

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

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

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

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

Как проводится компиляция в IntelliJ IDEA

Как проводится компиляция в IntelliJ IDEA

От автора: если бы не было таких мощных и качественных инструментов, как IntelliJ IDEA, компиляция занимала бы слишком много времени у разработчика — ведь это нужно собрать все файлы в единую программу, а после корректно запустить ее. К счастью, благодаря высокоразвитым IDE вся сложность заключается в настройке компилятора, а не каждого отдельного файла, поэтому в процессе работы с IntelliJ IDEA компиляция делается очень просто. Сегодня мы расскажем, как конфигурировать эту IDE для успешной сборки.

Как проводится компиляция в IntelliJ IDEA

Знакомство с компилятором

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

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

Компиляторы бывают нескольких видов. Точно так же и процесс компиляции бывает разным. Все зависит от того, какой язык используется (компилируемый/интерпретируемый) и какое применяется программное обеспечение для взаимодействия. Кстати, раньше этот вид ПО называли «программирующими программами». Этимологическая логика здесь проста: это был инструмент, который заставлял компьютер выполнять код — то есть, программировал его.

Профессия Frontend-разработчик PRO

Готовим Frontend-разработчиков с нуля

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

Исполнительные файлы

Вы привыкли к тому, что готовая программа должна запуститься на вашем компьютере. И потому хотите, чтобы это происходило на каждом удобном вам ПК. И они так могут. Главное, чтобы на ПК или любом другом устройстве была установлена исполнительная среда Java. Она встречается не только на компьютерах, но и на всех остальных системах, вроде бытовой техники.

Как правило, новички сразу ищут в IntelliJ IDEA возможность провести эту процедуру и превратить написанный ими код в .exe файл. Вынуждены вас огорчить, но это невозможно. Суть в том, что это противоречит самой концепции языка, не говоря уже о физической возможности. «Написано единожды — работает везде».

Тем не менее, неужели невозможно делать программы для Windows на языке Java? Конечно, можно, и готовые файлы будут иметь расширение .exe. Вот только дело тут не в компиляции. Программист должен сделать обертку для программы, чтобы она запустила Java Runtime Machine и Java-код вне глаз пользователя. И это действительно работающее решение.

Настройка проще, чем кажется

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

В диалоговом окне «Settings/Preferences» выберите Build, Execution, Deployment.

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

На странице «Исключения» укажите файлы и папки, которые не следует включать в компиляцию. Используйте «+» для добавления элементов в список.

Замечания:

На странице Java Compiler проверьте, является ли используемый компилятор тем, который вам нужен. При необходимости выберите другой компилятор.

На странице Annotation Processors настройте параметры обработки аннотаций.

Примените изменения и закройте диалог.

Профессия Frontend-разработчик PRO

Готовим Frontend-разработчиков с нуля

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

На этом заканчиваем рассказ о компиляции. Вам нужно запомнить два основных тезиса: компилятор IDEA нуждается в настройке, компиляции jar в exe не существует. Это совершенно другой, абсурдный процесс. И это не просто балластное знание. Оно убережет вас от скачивания утилит, которые обещают подобное чудо.

Русские Блоги

Используйте Intellij Idea для создания исполняемого файла jar и преобразования его в исполняемый файл.

Стандарты набора персонала Unicorn Enterprise Heavy для Python-инженеров 2019 >>> hot3.png

Гарантировать свой собственныйJavaС кодом нет проблем. Он может нормально работать в IDEA. Затем выполните следующие действия:

Шаг 1: Откройте файл -> Структура проекта -> Артефакты, как показано ниже.

Шаг 2: Нажмите «+», выберите «Jar», выберите «Пустой» или «Из модулей с зависимостями».

Шаг 3: Задайте основной класс записи основной функции, как показано на рисунке:

После выполнения трех вышеуказанных шагов щелкните Готово.

Шаг 4: Вернитесь к основному интерфейсу идеи, нажмите Build -> Build Artfacts -> build, файл jar будет сгенерирован в проекте (сгенерированный пакет Jar находится в каталоге вывода, указанном на рисунке выше)

Файл jar создается выше, затем используйте exe4j для преобразования исполняемого файла jar в файл exe.

Шаг 5: Выберите каталог и создайте новую папку. Функция папки состоит в том, чтобы сохранить сгенерированный exe-файл. Во вновь созданной папке также создаются три подпапки file, res, jre, как показано на рисунке ниже:

файл: папка предназначена для временных файлов.

res: папка содержит файлы ресурсов, такие как изображения, файлы конфигурации и т. д.

jre: это необходимо.Содержимое этого файла можно напрямую скопировать из содержимого jre в установочный каталог JDK. С его помощью вам не нужно устанавливать среду выполнения Java

Откройте исполняемый исполняемый файл exe4j и нажмите Далее, чтобы получить следующий интерфейс.

Выберите режим «JAR в EXE», нажмите кнопку «Далее», как показано ниже:

Определите случайно в Кратком названии вашего приложения

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

Введите имя исполняемого файла, который будет создан в поле Executive name

Выберите файл значка, чтобы выбрать значок для создания exe-файла, тип значка может быть только изображением в конце ico, а затем нажмите кнопку Далее, как показано ниже:

Введите параметры виртуальной машины: -Dexe.path = $

Вы можете использовать его, чтобы найти каталог, в котором находится исполняемый файл в программе, чтобы вы могли найти текущий каталог независимо от того, где размещен сгенерированный исполняемый файл, использование (String exePath = System.getProperty ("exe.path");)

Затем нажмите кнопку с плюсом, как показано ниже:

Выберите файл jar, который мы создали на первом шаге в архиве, а затем нажмите кнопку ОК напрямую

Затем нажмите кнопку позади основного класса, как показано ниже:

Выберите запись программы, которая является классом, содержащим основной метод, и нажмите кнопку ОК, как показано на следующем рисунке:

Затем нажмите кнопку Далее, появится следующее изображение:

Введите версию jre в Минимальную версию, выберите Разрешить JRES с номером бета-версии и нажмите кнопку Дополнительные параметры, чтобы выбрать последовательность поиска, как показано ниже:

Удалите все три параметра на изображении выше, а затем нажмите кнопку с плюсом, как показано ниже:

Просто выберите каталог jre во вновь созданном файле в каталоге, а затем нажмите кнопку ОК, как показано на следующем рисунке:

Затем нажмите кнопку Далее, как показано ниже:

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

Выберите заставку exe4j

Просто выберите изображение в файле изображения и нажмите кнопку «Далее», как показано на рисунке ниже:

Не нужно ничего менять, просто нажмите кнопку «Далее», чтобы завершить создание exe-файла, появится следующий интерфейс:

Затем щелкните «Щелкните здесь, чтобы запустить приложение», чтобы запустить сгенерированный exe-файл, а затем закройте программное обеспечение.

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

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