Вы находитесь на странице: 1из 4

Занятие 9. Создание исполняемого файла.

Manifest

После первой написанной мной программы я стал искать, как можно ее


показать друзьям. Чтобы они попробовали ее в деле. Первое мое решение
было сделать ее исполняемой. Двойной клик и программа запушена. После
некотороо времени исследования. Я понял, что большого смысла в этом нет.
Для запуска программы на Java нужна виртуальная машина. Что бы создать
имполняемый файл все равно нужно добавлять целую пачку библиотек для
запуска. Поэтому от идеи создания запускаемого файла я отказался. Другое
решение это сделать обычный jar (пакет скомпилированных файлов) и
указать в нем какой файл нужно запускать, когда пользователь двойным
кликом пытается открыть этот файл. По сути это будет тот же самый
исполняемый файл только с расширением jar.

Как вы уже поняли основным элементов в программах в java являются


скопилированные файлы. Для более удобной организации таких файлов
используются пакеты Java ARchive (JAR). Создать пакет jar можно через
командную строку с помошью утилит поставляемых в JDK.

Но такой подход требудет много писаны руками, что уменьшает скорость,


увеличивает количество ошибок.

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


решим эту задачу с помошью данного инструмента.

Во первых. Нам нужно указать какой пакет нужно собирать после


компиляции. Это указывается в файле pom.xml в голове файла.
<groupId>JavaWayFromStudentToMaster</groupId>
<artifactId>Lessons</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
Варинты укаповки могут быть jar(библиотеки), war(веб приложение), ear
(enterprise app).

В следующих главах мы будет использовать war сборку.

При выполнении команды

mvn clean install

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


Выходной файл target/(artifactId)-(version).jar.

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


сделаем его запускаемым. Для этого нужно в pom.xml добавить новый
плагин.

И в нем указать какой файл является точкой входа в программу.


<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>lesson_6.ClinicRunner</mainClass>
<addClasspath>true</addClasspath>
</manifest>
</archive>
</configuration>
</plugin>

Заново пересоберем наш проект и запустим jar.

java -jar Lessons-1.0-SNAPSHOT.jar

Welcome to clinic

0 - show clients

1 - create client

2 - create pet

3 - update client

4 - update pet

5 - delete client

6 - delete pet

7 - search client

8 - search pet

Enter operation :
 Задания

 Сделать программу клиники исполняемой.


 Добавить файл README.md и описать в нем значение программы,
возможности.
 Попросить своих друзей попробовать использовать программу.
 Получить впечатление, отзывы от друзей. Провести работу по
исправлению.

Решение
См. файл проекта.