При создании приложения Spring Boot вы можете захотеть упаковать его как исполняемый файл JAR, включающий все его зависимости. Это гарантирует, что ваше приложение можно будет легко развернуть и запустить в любой среде без необходимости дополнительной настройки или установки. В этой статье мы рассмотрим несколько методов создания исполняемого файла JAR с зависимостями для вашего приложения Spring Boot, а также примеры кода для каждого подхода.
Метод 1: упаковка с помощью Maven
Maven — это популярный инструмент автоматизации сборки, который предлагает несколько подключаемых модулей для упаковки приложений Spring Boot. Одним из таких плагинов является плагин Spring Boot Maven. Чтобы создать исполняемый JAR-файл с зависимостями с помощью Maven, выполните следующие действия:
Шаг 1. Добавьте плагин Spring Boot Maven в файл pom.xmlвашего проекта:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
Шаг 2. Запустите команду пакета Maven, чтобы создать исполняемый файл JAR:
mvn package
Метод 2: упаковка с помощью Gradle
Если вы предпочитаете использовать Gradle в качестве инструмента сборки, вы можете добиться того же результата, используя систему сборки Gradle. Gradle предоставляет плагины, такие как Spring Boot Gradle Plugin, для создания исполняемых файлов JAR с зависимостями. Вот как это можно сделать:
Шаг 1. Примените плагин Spring Boot Gradle в файле build.gradleвашего проекта:
plugins {
id 'org.springframework.boot' version '2.5.4'
// Other plugins...
}
// ...
springBoot {
mainClassName = 'com.example.YourApplication' // Replace with your main class
}
Шаг 2. Запустите команду сборки Gradle, чтобы создать исполняемый файл JAR:
./gradlew build
Метод 3: создание Fat JAR
Другой подход к включению зависимостей в исполняемый JAR — создание Fat JAR, также известного как Uber JAR или Shadow JAR. Fat JAR содержит все необходимые классы и ресурсы вашего проекта и его зависимостей. Вот пример создания Fat JAR с использованием плагина Maven Shade:
Шаг 1. Добавьте плагин Maven Shade в файл pom.xmlвашего проекта:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.4</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
Шаг 2. Запустите команду пакета Maven для создания Fat JAR:
mvn package
Метод 4: использование плагина сборки Maven
Плагин сборки Maven — это еще один вариант создания исполняемого файла JAR с зависимостями. Он позволяет вам определять собственные дескрипторы сборки для управления содержимым и структурой окончательного JAR-файла. Вот пример использования плагина сборки Maven:
Шаг 1. Добавьте плагин сборки Maven в файл pom.xmlвашего проекта:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.3.0</version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
Шаг 2. Запустите команду пакета Maven, чтобы создать исполняемый файл JAR:
mvn package
В этой статье мы рассмотрели несколько методов создания исполняемого JAR-файла с зависимостями для вашего приложения Spring Boot. Вы можете выбрать подход, который лучше всего соответствует вашим потребностям, и создать приложение таким образом, чтобы его можно было легко развернуть и запустить в любой среде. Следуя этим методам, вы сможете упаковать приложение Spring Boot в автономный JAR-файл, что упростит процесс развертывания.