Здравствуйте, сегодня попробуем написать простую программу на языке программирования Java, сохраним её в формате “exe”, после чего наша программа будет запускаться на любом компьютере с ОС Windows.
Скачать исходники для статьи можно ниже
Создадим простенькую программку в формате EXE, которая попросит нас ввести для неё два числа и выведит для нас результат в виде этих же чисел, но только увеличенных на 1.
Скачать готовую программу можно по следующей ссылке – “yadi.sk/d/Kf5A7CQYrQTfE”
Приступим к созданию данной программы:
1. Устанавливаем бесплатную программу Eclipse
Официальный сайт “eclipse.org/downloads/”
Скачиваем “Eclipse IDE for Java EE Developers”:
Здесь есть Eclipse как для 32 разрядной операционной системы, так и для 64 разрядной системы.
Как узнать какая у вас система?
Наведите правой клавишей мыши на ярлык “Мой компьютер”, выберите пункт “Свойства”:
Скачается zip-архив, если вы попробуете распаковать его встроенным в windows архиватором, то здесь могут возникнуть проблемы – процесс может затянуться на длительное время или вовсе с ошибкой. Лучше всего это сделать с помощью программ WinRAR или 7-zip.
2. Далее устанавливаем Комплект Разработчика Приложений на языке Java – Java Software Development Kit (Java SDK или JDK).
Скачать его (JDK) можно с официального сайта – “oracle.com/technetwork/java/javase/downloads/index.html”
Здесь вам также предложат скачать JDK для различных операционных систем, замечу, что 32 разрядной для windows – вы не найдете, JDK для Windows x32 – можно скачать здесь – Скачать JDK для windows x32 и как его установить
После установки JDK стоит проверить его работу – для этого – откройте командную строку снова (Пуск > Выполнить. В текстовом поле наберите «cmd» и нажмите «Enter».). Наберите команду «javac» (без кавычек, конечно).
Если у вас выводится сообщение как на скриншоте выше, то все нормально.
Если нет и показывается следующее сообщение:
То прочтите мою статью по следующей ссылке – Скачать JDK для windows x32 и как его установить.
3. Скачайте бесплатную программу launch4j.
Она предназначена для компиляции всех ваших java файлов в один исполняемый “exe” файл.
Вы можете скачать launch4j с сайта “sourceforge.net/projects/launch4j/files/launch4j-3/3.1.0-beta1/”
или по следующей ссылке:
“https://mnogoblog.ru/wp-content/uploads/2016/04/launch4j-3.8-win32.zip”
4. Теперь осталось написать простенькую программу на языке программирования JAVA в программе Eclipse.
Для изучения языка программирования Java есть хороший youtube канал – ZhirniToni – “youtube.com/user/ZhirniToni” и в нем есть плейлист “Java для Чайников”, так вот на основе уроков 7, 8 и 14:
Урок 7: “youtu.be/lBE20G5l0YU”
Урок 8: “youtu.be/L-Ivs-ZfbT8”
Урок 14: “youtu.be/XUJsJ_loOkE”
Конечно же, лучше посмотреть все обучающие видео хотя бы с 1 по 14 урок, чтобы лучше разбираться в коде программы.
———————-
Благодаря урокам 7 и 8 у меня в программе Eclipse получилось 2 файла: main.java и reader.java.
Код файла main.java:
package ru.proekt; import javax.swing.JFrame; public class main { public static void main(String[] args) { reader r = new reader("Моя программа"); r.setVisible (true); r.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE); r.setSize(300, 200); } }
Код файла reader.java:
package ru.proekt; import javax.swing.*; import java.awt.*; import java.awt.event.*; public class reader extends JFrame { JButton b1, b2; JLabel l1, l2, l3, l4; JTextField t1, t2; int i, k; String a, b; eHandler handler = new eHandler(); public reader(String s) { super(s); setLayout(new FlowLayout()); b1=new JButton ("Очистить"); b2=new JButton ("Посчитать"); l1=new JLabel ("Введите первое число:"); l2=new JLabel ("Введите второе число:"); l3=new JLabel (""); l4=new JLabel (""); t1=new JTextField (10); t2=new JTextField (10); add(b1); add(b2); add(l1); add(l2); add(l3); add(l4); add(t1); add(t2); b2.addActionListener(handler); b1.addActionListener(handler); } public class eHandler implements ActionListener { public void actionPerformed(ActionEvent e) { try { if (e.getSource()==b2){ i=Integer.parseInt(t1.getText()); k=Integer.parseInt(t2.getText()); i++; k++; a = "Ваше первое число теперь равно: " + i; b = "Ваше второе число теперь равно: " + k; l3.setText(a); l4.setText(b); } if (e.getSource()==b1){ t1.setText(null); t2.setText(null); l3.setText(""); l4.setText(""); } }catch (Exception ex){JOptionPane.showMessageDialog(null, "Введите в поле число.");} } } }
———————-
После того как вы напишите программу на Eclips сохранить её аналогично уроку 14, только тип файла нужно выбрать “Runnable JAR file”, а именно, вот так:
– кликаем мышкой на проект, который хотим сохранить:
– далее щелкните правой кнопкой мыши по вашему проекту и нажмите “Export” (Экспорт).
– откройте папку “Java” и дважды нажмите опцию “Runnable JAR file” (исполняемый архив JAR).
– Первое, что вы должны сделать, это выбрать главный класс (класс с основным методом) из выпадающего меню под “Launch configuration” (конфигурации запуска).
Во-вторых, выберите “Export destination” (Место экспорта) с помощью кнопки “Browse…” (Обзор) или вручную, вводя месторасположение.
И в-третьих, обеспечьте выбор переключателя “Extract required libraries into generated JAR”(Извлечь необходимые библиотеки в созданные JAR) “.
И, наконец, нажмите кнопку “Finish” (Готово).
———————-
Выкладываю вам JAR файл, который у меня получился – скачать JAR файл можно по следующей ссылке – “yadi.sk/d/o0Q8iWE7rQTZp”
5. А далее сохраним нашу программу на JAVA с помощью программы launch4j в exe файл.
Запускаем launch4j.
В первом текстовом поле введите или выберите с помощью просмотра место, где исполняемый файл хотите сохранить. Убедитесь, что имя файла имеет “.exe” в конце названия!
Во втором текстовом поле введите или выберите с помощью просмотра файл .jar, ранее экспортированного из Eclipse.
В четвертом текстовом поле с надписью “Icon:” можно выбрать иконку для программы, однако, это не является обязательным, и если его оставить пустым, ваша ОС вернется к своему значку по умолчанию исполняемого файла.
На вкладке “JRE” в верхнем меню выберите “Min JRE version” и введите “1.4.0”. Это гарантирует, что пользователи имеют нужную версию Java для использования вашей программы. Вы можете изменить это, но 1.4.0 является безопасной версией.
Нажмите кнопку передач под названием “Build wrapper” в верхней части экрана.
Программа вместе с exe файлом создаст и файл .xml, дайте ему соответствующее имя и нажмите “Save”. Файл .xml является стандартным, не волнуйтесь об этом. Сразу после создания .xml файла будет создан exe файл.
Последнее обновление: 22.11.2022
Итак, после установки JDK создадим первое приложение на языке Java. Что необходимо для создания программы на Java? Прежде всего нам надо написать код программы, и для этого нужен текстовый редактор.
Можно использовать любой текстовый редактор, например, Notepad++.
И чтобы превратить код программы в исполняемое приложение необходим компилятор. После установки JDK все файлы по умолчанию помещаются в каталог C:Program FilesJavajdk-[номер_версии] (при использовании ОС Windows).
В моем случае это каталог C:Program FilesJavajdk-19. Если мы откроем в нем подкаталог bin, то мы сможем увидеть в нем ряд утилит.
Нас прежде всего интересует утилита компилятора javac. Чтобы скомпилировать класс программы, нам надо передать ее код этому компилятору.
Также следует отметить другую утилиту из этой папки — java.exe, которая позволяет запускать скомпилированную программу.
Итак, создадим на жестком диске какой-нибудь каталог, в котором будут располагаться файлы с исходным кодом на языке Java. Допустим, это будет каталог
C:/Java. Затем создадим в этом каталоге текстовый файл, который переименуем в Program.java.
Откроем этот файл в любом текстовом редакторе и наберем в нем следующую программу:
public class Program{ public static void main (String args[]){ System.out.println("Hello Java!"); } }
Java является объектно-ориентированным языком, поэтому вся программа представляется в виде набора взаимодействующих классов.
В данном случае определен один класс Program.
При определении класса вначале идет модификатор доступа public, который указывает, что данный класс будет доступен
всем, то есть мы сможем его запустить из командной строки. Далее идет ключевое слово
class, а затем название класса. То есть класс называется Program. После названия в фигурных скобках расположено содержимое класса.
Класс может содержать различные переменные и методы. В данном случае у нас объявлен один метод main.
Это главный метод в любой программе на Java, он является входной точкой программы и с него начинается все управление. Он обязательно
должен присутствовать в программе.
Метод main также имеет модификатор public
. Слово static
указывает, что метод main — статический, а слово void
— что он не возвращает никакого значения. Позже
мы подробнее разберем, что все это значит.
Далее в скобках у нас идут параметры метода — String args[]
— это массив args, который хранит значения типа String
, то
есть строки. В данном случае ни нам пока не нужны, но в реальной программе это те строковые параметры, которые передаются при запуске программы из
командной строки.
После списка параметров в фигурных скобках идет тело метода — это собственно те инструкции, которые и будет выполнять метод.
В данном случае фактически определени определена только одна инструкция — вывод на консоль некоторой строки. Для вывода на консоль используется встроенный метод
System.out.println()
. В этот метод передается выводимая строка. Каждая инструкция завершается точкой с запятой.
Теперь скомпилируем написанную программу. Откроем командную строку (в Windows) или терминал в Linux/MacOS и введем там соответствующие команды. Первым делом перейдем в каталог, где лежит наш файл с программой с помощью команды:
В данном случае файл находится в каталоге C:Java.
Затем cкомпилируем программу с помощью команды
C:Java>"C:Program FilesJavajdk-19binjavac" Program.java
Обратите внимание, что весь путь к компилятору javac берется в кавычки, а затем через пробел идет название нашего файла, который содержит
класс программы.
После этого программа компилируется в байт-код, и в каталоге C:Java можно будет найти новый файл Program.class.
Это и будет файл с байт-кодом программы. Теперь нам надо его запустить с помощью утилиты java:
C:Java>"C:Program FilesJavajdk-19binjava" Program
Здесь уже расширение у файла не надо использовать.
Для ОС Windows весь процесс будет выглядеть следующим образом:
Добавление java в переменную Path
Для компиляции приходится вводить полный путь к комилятору javac, что может быть сопряжено с ошибками при вводе, да и каждый раз вводить полный путь тоже неудобно.
Чтобы в дальнейшем облегчить работу, добавим путь к JDK в переменную PATH в переменных среды. Если мы работаем в Windows, то для добавления переменной среды
через поиск найдем найдем параметр Изменение системных переменных среды. Для этого введем в поле поиска «Изменение системных переменных среды»:
Выберем пункт Изменение системных переменных среды. И сначала нам откроется окно «Свойства системы», где нажмем на кнопку
Переменные среды:
Затем нам откроется окно, где мы можем увидеть все переменные среды.
(Также можно перейти через Параметры и пункт Система ->Дополнительные параметры системы ->Переменные среды)
Здесь нам нужно исправить системную переменную Path. Для этого выделим ее и нажмем на кнопку «Изменить»:
В эту переменную Path нам надо добавить путь к инструментам JDK. И тут есть два момента.
Во-первых, при установке jdk по умолчанию ряд утилит также устанавливаются в папку C:Program FilesCommon FilesOracleJavajavapath. В том числе это такие файлы как
java.exe и javac.exe. И путь к этой папке по умолчанию добавляется в перемнную Path. То есть мы можем использовать этот путь.
Второй момент — в последних сборках Windows компания Microsoft также устанавливает свои сборки JDK, точнее OpenJDK, которые также по умолчанию добавляются в переменную Path
и которые мы также можем использовать. Но у этих сборок есть большой минус — они применяют одну из прошлых версий JDK (обычно это LTS-сборки). Например, в моем случае это 11-я версия,
хотя текущей является 19-я.
Чтобы использовать последнюю 19-ю версию среди путей в переменной Path убедимся, что путь C:Program FilesCommon FilesOracleJavajavapath располагается выше
путей к сборкам JDK от Microsoft. Для перемещения определенного пути вверх среди переменных среды можно использовать кнопку «Вверх:
Также можно напрямую создать использовать путь «C:Program FilesJavajdk-19bin».
Для создания новой переменной надо нажать на кнопку «Создать» и ввести в новое поле путь «C:Program FilesJavajdk-19bin». Но опять же его следуется с помощью кнопки Вверх поместить
над путями к OpenJDK от Microsoft.
После установки переменной Path перейдем к командной строке/терминалу (в более старых версиях Windows может потребоваться перезауск командной строки) и для проверки версии введем команду
Консоль нам должна в ответ ввести номер только что установленной версии JDK:
java version "19.0.1" 2022-10-18 Java(TM) SE Runtime Environment (build 19.0.1+10-21) Java HotSpot(TM) 64-Bit Server VM (build 19.0.1+10-21, mixed mode, sharing)
И после этого можно вводить только названия утилит без полных путей:
Как вы знаете, Java — один из самых популярных языков программирования в мире и его знание существенно увеличит вашу значимость как программиста. Итак, вы решили начать писать на этом языке. Вам понадобится поставить JDK для того, чтобы писать и запускать программы на Java. JDK — набор софта, разработанного Oracle, содержащий в себе компилятор (javac), среду выполнения (Java Runtime Environment), стандартную библиотеку языка, примеры и документацию. Прочитав эту статью, вы узнаете, как установить и настроить JDK на своей системе, что такое среда разработки и какие варианты IDE существуют для Java. Также вы напишете свою первую программу на Java.
Установка Java Development Kit
- Перейдите на сайт Oracle и загрузите JDK для вашей платформы.
- После загрузки извлеките полученный архив и запустите извлеченное приложение.
- В процессе установке выберите вариант «Development Tool» и нажмите «Next».
- Спустя некоторое время установка завершится.
Итак, вы установили Java Development Kit, но это еще не всё. Необходимо настроить его для вашей системы.
Настройка JDK на примере Windows
- Перейдите в папку
%ProgramFiles%Java%версия установленного вами jdk%bin
, нажмите на свойства любого файла в этой папке и скопируйте путь к нему. - Перейдите в свойства вашего компьютера, откройте вкладку «Дополнительно», нажмите «Переменные среды…». В открывшемся окне создайте новую переменную, назовите её
Path
, в её значение вставьте скопированный ранее путь. - Теперь самое важное. Откройте командную строку и наберите
javac
, чтобы убедиться, что JRE установлен и настроен. Если выдаётся список аргументов к командеjavac
, то поздравляю, вы успешно установили и настроили всё, что необходимо для использования Java!
После установки JDK и JRE не помешает установить на компьютер одну из IDE.
Установка IDE
Для начала разберёмся, что такое IDE.
IDE (Integrated Development Environment) — это комплекс программных средств, используемый программистами для разработки программного обеспечения. IDE позволяет с лёгкостью писать, запускать, отлаживать и тестировать код.
Для написания сложных программ целесообразно использовать IDE. Мы рассмотрим наиболее популярные.
Блокнот
Да, и в блокноте можно писать код! Для разработки вам потребуется всего лишь установить JDK и указать путь к ней. Пишете код в блокноте, компилируете с помощью командной строки. Тем не менее, для разработки сложных программ это не самый лучший вариант из-за отсутствия каких-либо дополнительных возможностей, присутствующих в продвинутых IDE.
NetBeans
NetBeans — выбор профессиональных Java-разработчиков. В ней есть уникальные возможности и инструменты, которые позволят вам сделать вашу программу кроссплатформенной, а код удобочитаемым. NetBeans поддерживает не только Java, но и другие языки программирования для десктоп- и веб-разработки. Она полностью бесплатна, скачать её можно с официального сайта. Вот лишь некоторые её возможности:
- форматирование кода;
- установка сторонних библиотек;
- простой графический интерфейс;
- и многое, многое другое…
Eclipse
Eclipse, как и Netbeans — одна из наиболее популярных IDE. Она предоставляет впечатляющий интуитивно понятный интерфейс и производительную среду разработки, позволяющую комфортно разрабатывать приложения на Java. Скачать Eclipse можно бесплатно с официального сайта. Преимущества:
- возможность форматировать код так, как вам удобно;
- поддержка разбиения кода на модули;
- лёгкость использования одного и того же кода в разных проектах;
- перетаскивание (drag-and-drop);
- просмотр содержимого библиотек;
- удобный интерфейс.
IntelliJ IDEA
IntelliJ IDEA — известная IDE для Java, написанная, как ни странно, на Java. Укомплектована уникальными инструментами и позволяет без проблем ориентироваться в программе. Нахождение ошибок и отладка кода никогда не были такими легкими, как с IntelliJ IDEA.
JCreator
JCreator — продвинутая и самая быстрая IDE для Java, написанная на C++.
Пишем свою первую программу
Итак, вы установили и настроили JDK, JRE и IDE для Java. Каков следующий шаг? Конечно же, написать программу, чтобы окончательно убедиться, что всё работает и вы готовы к изучению языка. Вы познакомитесь с базовой структурой кода на Java и создадите свою первую программу! Стоит отметить, что перед изучением Java следует ознакомиться хотя бы с самыми простыми принципами объектно-ориентированного программирования.
Структуру программы на Java можно представить так:
Структура программы на Java
В файле с исходным кодом содержится несколько классов — это части программы, имеющие определённые функции. Хорошей практикой считается разбиение программы на несколько файлов с исходным кодом, каждый со своим назначением. В классах содержатся методы — действия, которые могут выполнять объекты данного класса. В методе содержатся команды, с помощью которых вы можете получить желаемый результат.
Перед тем, как приступить к созданию программы, необходимо создать проект, а в нём и файл, в котором будет содержаться ваш код. Рассмотрим создание проекта на IDE Eclipse, но в остальных IDE процесс отличается не сильно. Cверху выберите «File», затем наведите курсор на «New», в открывшемся меню выберите «Java Project». В появившемся окне введите имя проекта и другие нужные вам настройки (если не уверены, что делать, то можно просто оставить все как есть) и нажмите «Next». Готово, вы создали проект! Осталось лишь создать в нём класс, в котором вы напишете свою первую программу. Щёлкните правой кнопкой мыши по вашему проекту (он должен появиться справа) и выберите «New» → «Class». Присвойте новому классу имя (в данном примере — это first
) и нажмите «Finish».
Приступим к написанию вашей первой программы. По традиции — это программа, выводящая на экран «Hello, world!».
public class first{
public static void main(String args[])
{
System.out.println("Hello, world!");
}
}
Разберём по частям написанное нами:
public
— это модификатор доступа, определяющий, из какой части программы может использоваться наш класс. В вашем примереpublic
— это весь код;class
— ключевое слово, показывающее, что вы объявляете класс, а не что-либо иное;first
— имя вашего класса. Круглые скобки определяют начало и конец кода класса;public static void main(String args[])
— объявление публичного статического метода (то есть который можно вызвать, не создавая объект класса). Метод в примере ничего не возвращает и принимает в качестве аргументов массив строк. Единственная команда в этом методе выводит в консоль сообщение «Hello, world!». Заметьте, вместоprintln
можно написатьprint
, разница лишь в том, что в случае сprintln
дополнительно выведется символ переноса строки.
Хорошо, вы написали вашу первую программу. Теперь её надо запустить. Для этого просто нажмите белую стрелочку в зеленом кружке на верхней панели (при наведении курсора на неё должно высветиться «Run»). После нажатия внизу откроется консоль, в которой вы увидите сообщение «Hello, world»! Поздравляю, вы написали вашу первую программу на Java и готовы погрузиться в увлекательный мир этого языка!
Полезные ссылки для дальнейшего изучения
Вот несколько ресурсов, которые помогут вам в изучении Java:
- документация Oracle по стандартной библиотеке языка;
- уроки по Java от Oracle;
- теория объектно-ориентированного программирования;
- хорошая книга-самоучитель;
- большое количество интересных и полезных статей про Java на русском языке.
In this tutorial, you will learn how to create, run, and package a simple Java application that prints Hello, World!
to the system output. Along the way, you will get familiar with IntelliJ IDEA features for boosting your productivity as a developer: coding assistance and supplementary tools.
Prepare a project
Create a new Java project
In IntelliJ IDEA, a project helps you organize your source code, tests, libraries that you use, build instructions, and your personal settings in a single unit.
-
Launch IntelliJ IDEA.
If the Welcome screen opens, click New Project.
Otherwise, from the main menu, select .
-
In the New Project wizard, select New Project from the list on the left.
-
Name the project (for example
HelloWorld
) and change the default location if necessary. -
We’re not going to work with version control systems in this tutorial, so leave the Create Git repository option disabled.
-
Make sure that Java is selected in Language, and IntelliJ is selected in Build system.
-
To develop Java applications in IntelliJ IDEA, you need the Java SDK (JDK).
If the necessary JDK is already defined in IntelliJ IDEA, select it from the JDK list.
If the JDK is installed on your computer, but not defined in the IDE, select and specify the path to the JDK home directory (for example, /Library/Java/JavaVirtualMachines/jdk-17.0.2.jdk).
If you don’t have the necessary JDK on your computer, select . In the next dialog, specify the JDK vendor (for example, OpenJDK), version, change the installation path if required, and click Download.
-
Leave the Add sample code option disabled as we’re going to do everything from scratch in this tutorial. Click Create.
After that, the IDE will create and load the new project for you.
Create a package and a class
Packages are used for grouping together classes that belong to the same category or provide similar functionality, for structuring and organizing large applications with hundreds of classes.
-
In the Project tool window, right-click the src folder, select New (or press Alt+Insert), and then select Java Class.
-
In the Name field, type
com.example.helloworld.HelloWorld
and click OK.IntelliJ IDEA creates the
com.example.helloworld
package and theHelloWorld
class.
Together with the file, IntelliJ IDEA has automatically generated some contents for your class. In this case, the IDE has inserted the package statement and the class declaration.
This is done by means of file templates. Depending on the type of the file that you create, the IDE inserts initial code and formatting that is expected to be in all files of that type. For more information on how to use and configure templates, refer to File templates.
Write the code
Add the main() method using live templates
-
Place the caret at the class declaration string after the opening bracket
{
and press Shift+Enter.In contrast to Enter, Shift+Enter starts a new line without breaking the current one.
-
Type
main
and select the template that inserts themain()
method declaration.As you type, IntelliJ IDEA suggests various constructs that can be used in the current context. You can see the list of available live templates using Ctrl+J.
Live templates are code snippets that you can insert into your code. main
is one of such snippets. Usually, live templates contain blocks of code that you use most often. Using them can save you some time as you don’t have to type the same code over and over again.
For more information on where to find predefined live templates and how to create your own, refer to Live templates.
Call the println() method using code completion
After the main()
method declaration, IntelliJ IDEA automatically places the caret at the next line. Let’s call a method that prints some text to the standard system output.
-
Type
Sy
and select theSystem
class from the list of code completion suggestions (it’s from the standardjava.lang
package).Press Ctrl+. to insert the selection with a trailing period.
-
Type
o
, selectout
, and press Ctrl+. again. -
Type
p
, select the println(String x) method, and press Enter.IntelliJ IDEA shows you the types of parameters that can be used in the current context. This information is for your reference.
-
Type
"
. The second quotation mark is inserted automatically, and the caret is placed between the quotation marks. TypeHello, World!
Basic code completion analyses the context around the current caret position and provides suggestions as you type. You can open the completion list manually by pressing Ctrl+Space.
For information on different completion modes, refer to Code completion.
Call the println() method using a live template
You can call the println()
method much quicker using the sout
live template.
After the main()
method declaration, IntelliJ IDEA automatically places the caret at the next line. Let’s call a method that prints some text to the standard system output.
-
Type
sout
and press Enter. -
Type
"
. The second quotation mark is inserted automatically, and the caret is placed between the quotation marks. TypeHello, World!
.
Build and run the application
Valid Java classes can be compiled into bytecode. You can compile and run classes with the main()
method right from the editor using the green arrow icon in the gutter.
-
Click in the gutter and select Run ‘HelloWorld.main()’ in the popup. The IDE starts compiling your code.
-
When the compilation is complete, the Run tool window opens at the bottom of the screen.
The first line shows the command that IntelliJ IDEA used to run the compiled class. The second line shows the program output:
Hello, World!
. And the last line shows the exit code0
, which indicates that it exited successfully.If your code is not correct, and the IDE can’t compile it, the Run tool window will display the corresponding exit code.
When you click Run, IntelliJ IDEA creates a special run configuration that performs a series of actions. First, it builds your application. On this stage, javac compiles your source code into JVM bytecode.
Once javac finishes compilation, it places the compiled bytecode to the out directory, which is highlighted with yellow in the Project tool window.
After that, the JVM runs the bytecode.
IntelliJ IDEA automatically analyzes the file that is currently opened in the editor and searches for different types of problems: from syntax errors to typos. The Inspections widget at the top-right corner of the editor allows you to quickly see all the detected problems and look at each problem in detail. For more information, refer to Current file.
Package the application in a JAR
When the code is ready, you can package your application in a Java archive (JAR) so that you can share it with other developers. A built Java archive is called an artifact.
Create an artifact configuration for the JAR
-
From the main menu, select File | Project Structure (Ctrl+Alt+Shift+S) and click Artifacts.
-
Click , point to JAR and select From modules with dependencies.
-
To the right of the Main Class field, click and select HelloWorld (com.example.helloworld) in the dialog that opens.
IntelliJ IDEA creates the artifact configuration and shows its settings in the right-hand part of the Project Structure dialog.
-
Apply the changes and close the dialog.
Build the JAR artifact
-
From the main menu, select Build | Build Artifacts.
-
Point to HelloWorld:jar and select Build.
If you now look at the out/artifacts folder, you’ll find your JAR there.
Run the packaged application
To make sure that the JAR artifact is created correctly, you can run it.
Create a run configuration for the packaged application
To run a Java application packaged in a JAR, IntelliJ IDEA allows you to create a dedicated run configuration.
-
Press Ctrl+Shift+A, find and run the Edit Configurations action.
-
In the Run/Debug Configurations dialog, click and select JAR Application.
-
Name the new configuration:
HelloWorldJar
. -
In the Path to JAR field, click and specify the path to the JAR file on your computer.
-
Scroll down the dialog and under Before launch, click , select .
Doing this means that the HelloWorld.jar is built automatically every time you execute this run configuration.
Run configurations allow you to define how you want to run your application, with which arguments and options. You can have multiple run configurations for the same application, each with its own settings.
Execute the run configuration
-
On the toolbar, select the
HelloWorldJar
configuration and click to the right of the run configuration selector. Alternatively, press Shift+F10 if you prefer shortcuts.As before, the Run tool window opens and shows you the application output.
The process has exited successfully, which means that the application is packaged correctly.
Last modified: 23 December 2022
Let’s say you have created a Java application and packaged it into a jar.
You want to install this jar in another machine.
Traditionally , you need to first install java in that machine and then copy the jar . The application can be launched by running the jar.
Or you can use third party applications to convert the java application to an exe installation. Java itself didn’t provide this facility for a long time.
Java 8 came up with jpackage tool which can be used to create .exe files. These files can then be used to install a native Windows Application. No need to install Java in the client machine anymore!
Java again removed the tool in Java 11 version and brought it back in Java 14.
Let’s create a simple Java application which displays the message “Hello World” in a message box and convert it into an exe file. Then let’s install the application in a Windows machine.
Here is the algorithm:
STEP 1: Create the java application
STEP 2: Use ‘jar’ tool to generate a jar file
STEP 3: Use ‘jpackage’ tool to convert the jar file to exe
STEP 4: Install the exe file on a Windows machine
STEP 1: Create the java application :
I created a Java application with a single file which opens up a message box with the message “Hello World”.
Here is the code:
package com.helloworld; import javax.swing.*; public class Main { public static void main(String[] args) { JOptionPane.showMessageDialog(null, "Hello World", "A Windows Application", JOptionPane.INFORMATION_MESSAGE); } }
On running this , I get the below output:
Now let’s convert this project into a jar file
STEP 2: Use ‘jar’ tool to generate a jar file
Below is the path where I have created the Java application:
G:projectsfullstackdeveloperblogspringspringbootHelloWorld
On building the project the classes got generated in out/production folder ( I am using IntelliJ):
G:projectsfullstackdeveloperblogspringspringbootHelloWorldoutproduction
A new folder named HelloWorld got generated in the above directory.
I navigated inside it and ran the below jar command:
jar cfm helloworld.jar manifest.txt com
helloworld.jar is the name of the jar file to generate
manifest.txt contains meta data about the jar (what is the path of the main class etc)
com is the directory (inside HelloWorld folder) which contains the Main class
To know more about generating jar files refer here : (Generating jar)
A jar file got generated as below:
If you double click the jar file you get the same output:
STEP 3: Use ‘jpackage’ tool to convert the jar file to exe
As a prerequisite to run jpackage tool to generate a exe file , you need to install Wix Toolset (suggested by Java) from here .
In the same path where I ran ‘jar’ command I ran the below jpackage command:
jpackage --name helloworld --input . --main-jar helloworld.jar --main-class com.helloworld.Main --win-console
Following –name is the name of the exe file
Following –input (.) is the name of the directory which contains the jar file and other inputs (in this case the current directory)
Following –main-jar is the name of the jar which contains the class to be run
Following –main-class is the name of the class which is to be run.
–win-console means windows console need to be enabled – Command line and Java swing applications need this to be enabled.
–win-console flag is quite important. It took me a while to realise this was needed (Else application won’t be launched when you click on the installed exe)
Here is the screenshot of running the jar and jpackage commands:
Below is the exe file generated:
STEP 4: Install the exe file on a Windows machine
Now let’s install the application using the exe file created.
Double click on helloworld-1.0.exe.
The application gets installed :
It gets installed in the default C:/Program Files directory:
Go into the folder and click on helloworld.exe:
Hello World message is shown!
Now let’s try to execute this exe file through command prompt from any path in Windows machine.
For this to happen , add the path of the exe to the ‘PATH’ environment variable of your machine:
Now go to any path in the command prompt and enter helloworld:
We have created a native windows application!
As said earlier by default it gets installed in C:/Program Files directory .To prompt the user to provide the path while installation add the flag –win-dir-chooser to jpackage command:
jpackage --name helloworld --input . --main-jar helloworld.jar --main-class com.helloworld.Main --win-console --win-dir-chooser
If you want to create a short cut in the desktop once your application is installed add the flag –win-shortcut to the above command:
jpackage --name helloworld --input . --main-jar helloworld.jar --main-class com.helloworld.Main --win-console --win-dir-chooser --win-shortcut
If you want to create a menu under the Start Menu add two flags –win-menu –win-menu-group and against –win-menu-group provide the name of the menu you want:
jpackage --name helloworld --input . --main-jar helloworld.jar --main-class com.helloworld.Main --win-console --win-dir-chooser --win-shortcut --win-menu --win-menu-group "Hello World"
If you want to provide an icon for your application , use –icon flag. Copy the icon file in the same directory where you are running jpackage command.
jpackage --name helloworld --input . --main-jar helloworld.jar --main-class com.helloworld.Main --win-console --win-dir-chooser --win-shortcut --win-menu --win-menu-group "Hello World" --icon helloworldicon.ico
Let’s run jpackage tool with all the above options and create an exe installation file.
Now if you run the generated exe file it will prompt you for installation directory:
Once successfully installed , go to your desktop and notice a short cut created with the icon you chose. Double click the file and Hello World message gets displayed!
Go to start menu and notice the app “Hello World”:
Creating a Windows Native Application in Java got easier and cooler.