Как создать исполняемый jar-файл с помощью maven в Spring Boot-проекте
Дата обновления: 18.09.2023Теги: java
С помощью maven, используя конфигурацию из pom.xml, можно создавать исполняемые файлы SpringBoot-проекта. Maven команда package создает исполняемый и неисполняемый jar-файлы в директории target проекта. Исполняемый jar-файл может запустить Spring проект на выполнение не используя maven или фреймворк Spring Boot.
Шаг 1: конфигурируем jar-упаковку
В файле pom.xml можно указать формат, в который будет упаковываться проект. По-умолчанию это jar. Устанавливается опцией:
Шаг 2: указываем использование spring-boot-maven-plugin
В файле pom.xml в секции build -> plugins добавляем plugin:
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
Шаг 3: имя jar-файла
Имя файла jar после сборки по-умолчанию будет сформировано из двух параметров pom.xml файла:
<artifactId>bSharing</artifactId> <version>0.0.1-SNAPSHOT</version>
Итоговый jar-файл в данном случае будет bSharing-0.0.1-SNAPSHOT.jar
, то есть формат имени такой: <artifactId>-<version> (через дефис).
Шаг 4: создание исполняемого jar-файла
Команда mvn package может создать исполняемый файл проекта. Сначала она компилирует исходный код, выполняет тесты, после чего создает неисполняемый jar-файл.
Включив все необходимые jar-файлы, maven создаст исполняемый файл jar на основе неисполняемого. При этом неисполняемый файл будет в директории target с именем исполняемого файла плюс с расширением ".original".
В командной строке перейдите в корневую папку проекта Spring Boot и выполните mvn package или mvn clean package.
Команда mvn package отличается от mvn clean package тем, что вторая команда сначала удаляет все файлы, созданные при прошлой сборке проекта.
> mvn clean package [INFO] Scanning for projects... [INFO] [INFO] -------------------------< ru.bozza:bSharing >-------------------------- [INFO] Building bSharing 0.0.1-SNAPSHOT [INFO] --------------------------------[ jar ]--------------------------------- ..... [INFO] --- spring-boot-maven-plugin:3.0.6:repackage (repackage) @ bSharing --- [INFO] Replacing main artifact with repackaged archive [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 16.281 s [INFO] Finished at: 2023-09-14T17:56:50+03:00 [INFO] ------------------------------------------------------------------------
В папке проекта target будут в том числе два файла:
- bSharing-0.0.1-SNAPSHOT.jar
- bSharing-0.0.1-SNAPSHOT.jar.original
Это и есть исполняемый и неисполняемый файлы jar.
Шаг 5: запуск jar-файла
Запустить jar-файл на исполнение можно из командной строки:
java -jar target/bSharing-0.0.1-SNAPSHOT.jar 2023-09-14T18:04:04.128+0300 INFO No active profile set, falling back to 1 default profile: "default" 2023-09-14T18:04:05.719+0300 INFO Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2023-09-14T18:04:05.868+0300 INFO Finished Spring Data repository scanning in 127 ms. Found 2 JPA repository interfaces. 2023-09-14T18:04:07.421+0300 INFO Tomcat initialized with port(s): 8443 (https) ...
Обратите внимание, у меня нет классического изображения Spring Boot в консоли. Я его отключил в файле "application.properties
" параметром spring.main.banner-mode=off
Авторизуйтесь для добавления комментариев!