Как сделать программу на java в exe

Я запрограммировал Java-программу в JCreator, все сделано, но я хочу создать из нее исполняемый файл, то есть я не хочу запускать программу, загружая классы Java и компилируя, а затем исполняю, но вместо этого это как отдельный исполняемый файл.

Какой самый быстрый способ сделать это?

Вы можете использовать инструмент jar в комплекте с SDK и создать исполняемую версию программы.

Вот как это делается.

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

Сначала создайте свою программу:

$cat HelloWorldSwing.java package start; import javax.swing.*; public class HelloWorldSwing < public static void main(String[] args) < //Create and set up the window. JFrame frame = new JFrame(«HelloWorldSwing»); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JLabel label = new JLabel(«Hello World»); frame.add(label); //Display the window. frame.pack(); frame.setVisible(true); >> class Dummy < // just to have another thing to pack in the jar >

Очень просто, просто отображает окно с “Hello World”

Как конвертировать из jar в exe файл

Затем скомпилируйте его:

$javac -d . HelloWorldSwing.java

В папке “Пуск” Dummy.class и HelloWorldSwing.class были созданы два файла.

$ls start/ Dummy.class HelloWorldSwing.class

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

Это содержимое моего файла манифеста.

$cat manifest.mf Main-class: start.HelloWorldSwing

Просто опишите, что такое основной класс (тот, у кого есть основной метод static void main)

Как только манифест готов, вызывается исполняемый файл jar.

У него много вариантов, здесь я использую -c -m -f (-c для создания jar, -m, чтобы указать файл манифеста, -f = файл должен быть назван..) и папку, которую я хочу к банке.

$jar -cmf manifest.mf hello.jar start

Это создает файл .jar в системе

enter image description here

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

enter image description here

Чтобы создать файл .jar в JCreator, вам просто нужно использовать меню “Инструменты”, создать банку, но я не уверен, как туда проходит манифест.

Я думаю, что вы можете перейти к другим ссылкам, опубликованным в этой теме, когда вы знакомы с этим подходом “.jar”.

Вы также можете использовать jnlp (Java Network Launcher Protocol).

Я не совсем понимаю, что вы имеете в виду.

Но я предполагаю, что вы имеете в виду одну из двух вещей.

  • Вы хотите создать исполняемый файл .jar

Eclipse может сделать это очень легко. Файл → экспортировать и создать банку и выбрать соответствующий основной класс, и он будет генерировать .jar для вас. В Windows вам может потребоваться связать jar с java-временем выполнения. aka Hold shift down, Right Нажмите “открыть с”, перейдите на свой jvm и свяжите его с javaw.exe

Создание ПК программы на JavaScript за 20 минут! Библиотека Electron JS

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

http://jsmooth.sourceforge.net/ или http://launch4j.sourceforge.net/ создаст родной .exe-заглушка с красивым значком, который по существу загрузит ваше приложение. Они даже выясняют, есть ли у вашего клиента не установленная JVM и предложили вам ее получить.

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

step1step2step3

Теперь у вас есть JAR файл. Используйте java -jar path/jarname.jar для выполнения.

enter image description here

Если вы хотите преобразовать это в .exe, вы можете попробовать http://sourceforge.net/projects/launch4j/files/launch4j-3/

STEP5STEP6

STEP7:
Дайте XML файлу соответствующее имя и нажмите “Сохранить”. Файл .xml является стандартным, не беспокойтесь об этом. Теперь будет создан ваш исполняемый файл!

Читайте также:
Прекращена работа программы istagui

В командной строке перейдите к корневому каталогу файлов Java, которые вы хотите выполнить.

Используйте эту команду:

jar -cvf [name of jar file] [name of directory with Java files]

Это создаст каталог META-INF в архиве баннеров. В этом META-INF есть файл под названием MANIFEST.MF, откройте этот файл в текстовом редакторе и добавьте следующую строку:

Main-Class: [fully qualified name of your main class]

то используйте эту команду:

java -jar [name of jar file]

и ваша программа запустится:)

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

Для этого требуется файл конфигурации, но опять же, перекомпилируйте его с жестко закодированными параметрами, и он работает как ex-config-less.

Jexecutable может создавать Windows exe для программ Java. Он вставляет банки в файл exe, и вы можете запускать его как программу Windows.

Вы можете использовать GCJ для compile ваша программа Java в собственный код.
В какой-то момент они даже скомпилировали Eclipse в родная версия.

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

java YourClass

Предполагается, что вы уже скомпилировали ваши .java файлы и что java может найти ваши .class файлы. Если java не может найти ваши .class файлы, вам может потребоваться использовать параметр -classpath или установить переменную среды CLASSPATH.

Java Web Start – хорошая технология для установки Java-богатых клиентов из Интернета прямо на рабочий стол конечного пользователя (будь то ОС Windows, Mac или * nix). Он поставляется в комплекте с интеграцией настольных систем и автоматическими обновлениями, среди многих других лакомств.

Для получения дополнительной информации о JWS см. страницу JWS.

Как и было предложено ранее, вы можете посмотреть на start4j, чтобы создать исполняемый файл для вашего JAR файла. Кроме того, есть что-то, называемое “JExePack”, которое может поместить обертку .exe вокруг вашего файла jar, чтобы вы могли перераспределить его (обратите внимание: клиенту в любом случае понадобится JRE для запуска программы на своем ПК)
Exes, созданный с помощью GCJ, не будет иметь этой зависимости, но этот процесс немного больше задействован.

Если вы используете NetBeans, вы просто нажимаете f11, и ваш проект будет создан.
Путь по умолчанию – projectfolderdist

Источник: techarks.ru

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

Как я уже писала в своей предыдущей статье, недавно, после двухлетнего обучения (обещали 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:

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

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

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

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

Читайте также:
Лучшая программа для раскроя

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

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

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

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

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

Надеюсь, что моя статья поможет кому-нибудь избежать ошибок, найти ответы на вопросы или просто сразу пойти правильным путем (например, создавать обычный maven-проект на Java-8, вручную прописывая в pom.xml зависимости и способ сборки, и всегда указывать на латинице имена учетных записей, директорий в своей операционной системе).

Источник: temofeev.ru

1. Используйте Eclipse, чтобы сначала ввести проект Java в пакет jar.

(1) Найдите проект Java, который нужно преобразовать в exe.

(2) Экспортируйте соответствующий проект Java.

(3) Выберите файл Java-> JAR.

(4) Выполните следующие действия, затем нажмите «Готово» для завершения.

(5) Можно сгенерировать соответствующий пакет jar (файл ExeDemo.jar).

2. Используйте инструмент exe4j для преобразования пакета jar в exe.

(1) Скопируйте каталог lib пакета jar, на который есть ссылка в проекте Java, в каталог ExeDemo.

(2) Скопируйте среду jre, установленную на вашем компьютере, в каталог ExeDemo.

(3) В каталоге ExeDemo вы можете создать каталог нового изображения (имя можно запустить самостоятельно) для хранения значков, на которые будет ссылаться JFrame.

Что касается пути в программе, вы можете обратиться к следующему коду:

mainJFrame.setIconImage(newImageIcon(System.getProperty(«user.dir»)+»\image\logo.jpg»).getImage());

(4) Установите инструмент exe4j (скачать из Интернета, я использую exe4j 5.0)

(5) Откройте инструмент exe4j и нажмите Далее.

(6) Выберите JAR в режиме EXE.

(7) Введите короткое имя исполняемой программы и место вывода исполняемой программы.

(8) Введите имя приложения.Если вы хотите добавить в программу значок ico, на этом этапе вы можете выбрать положение значка ico в красном поле.

(9) На этом шаге нужно выбрать создание 64-разрядной исполняемой программы exe.

(10) На этом этапе нужно выбрать пакет jar для добавления и добавить пакет JAR [ExeDemo.jar], упакованный в проект Java, и внешне зависимый пакет JAR в проекте Java [то есть пакет JAR в библиотеке папка] .Выберите основной класс (cn.demo.UIMain) в соответствии с реальной ситуацией в проекте Java.

Если это проект JAVA, то это проект UTF-8. Чтобы предотвратить искажение символов при чтении и записи китайских строк в проекте JAVA, вы можете добавить здесь параметр в красное поле (-Dfile.encoding = utf- 8)

Если при упаковке присутствуют искаженные символы, установите код при упаковке: VMP Параметры Configurejava для вызова exe4j

Введите: -Dfile.encoding = utf-8, чтобы предотвратить искажение символов в упакованном exe.

(11) Заполните минимальные требования к версии JRE.

(12) Добавьте и выберите последовательность поиска JRE, которая является последовательностью поиска среды JRE.

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

(13) Выбрать Далее

(14) Выбрать Далее

(15) Наконец, можно сгенерировать исполняемую программу ExeDemo.exe.

(16) Дважды щелкните, чтобы запустить программу.

Источник: russianblogs.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru