Плагин Spring Boot Gradle
1. обзор
Плагин Spring Boot Gradle помогает нам управлять зависимостями Spring Boot, а также упаковывать и запускать наше приложение при использовании Gradle в качестве инструмента сборки.
В этом руководстве мы обсудим, как добавить и настроить плагин, а затем увидим, как создать и запустить проект Spring Boot.
2. Конфигурация файла сборки
Во-первых, файлwe need to add the Spring Boot plugin to our build.gradle, включив его в наш разделplugins:
plugins {
id "org.springframework.boot" version "2.0.1.RELEASE"
}
Если мы используем версию Gradle более раннюю, чем 2.1, или нам нужна динамическая конфигурация, мы можем добавить ее следующим образом:
buildscript {
ext {
springBootVersion = '2.0.1.RELEASE'
}
repositories {
mavenCentral()
}
dependencies {
classpath(
"org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}
apply plugin: 'org.springframework.boot'
3. Упаковка нашего приложения
Мы можем упаковать наше приложение в исполняемый архив (файл jar или war), собрав его с помощью командыbuild:
./gradlew build
В результате сгенерированный исполняемый архив будет помещен в каталогbuild/libs.
Если мы хотим сгенерировать исполняемый файлjar, то нам также необходимо применить плагинjava:
apply plugin: 'java'
С другой стороны, если нам нужен файлwar, мы применим плагинwar:
apply plugin: 'war'
Сборка приложения создаст исполняемые архивы для Spring Boot 1.x и 2.x. Однако для каждой версии Gradle запускает разные задачи.
Затем давайте подробнее рассмотрим процесс сборки для каждой версии загрузки.
3.1. Spring Boot 2.x
В Boot 2.x задачиbootJar иbootWar отвечают за упаковку приложения.
ЗадачаbootJar отвечает за создание исполняемого файлаjar. Он создается автоматически после применения плагинаjava.
Давайте посмотрим, как мы можем выполнить задачуbootJar напрямую:
./gradlew bootJar
Точно так жеbootWar генерирует исполняемый файл war и создается после применения плагинаwar.
Мы можем выполнить задачуbootWar, используя:
./gradlew bootWar
Обратите внимание, что для Spring Boot 2.x нам нужно использовать Gradle 4.0 или новее.
Мы также можем настроить обе задачи. Например, давайте установим основной класс с помощью свойстваmainClassName:
bootJar {
mainClassName = 'com.example.Application'
}
В качестве альтернативы, мы можем использовать использовать то же свойство из DSL Spring Boot:
springBoot {
mainClassName = 'com.example.Application'
}
3.2. Spring Boot 1.x
With Spring Boot 1.x, bootRepackage is responsible for creating the executable archive(jar илиwar файл в зависимости от конфигурации.
Мы можем выполнить задачуbootRepackage напрямую, используя:
./gradlew bootRepackage
Подобно версии Boot 2.x, мы можем добавлять конфигурации в задачуbootRepackage в нашемbuild.gradle:
bootRepackage {
mainClass = 'com.example.demo.Application'
}
Мы также можем отключить задачуbootRepackage, установив для параметраenabled значениеfalse:
bootRepackage {
enabled = false
}
4. Запуск нашего приложения
После сборки приложенияwe can just run it by using the java -jar command в сгенерированном исполняемом файле jar:
java -jar build/libs/demo.jar
Spring Boot Gradle plugin also provides us with the bootRun task, который позволяет нам запускать приложение без необходимости его предварительной сборки:
./gradlew bootRun
ЗадачуbootRun можно просто настроить вbuild.gradle.
Например, мы можем определить основной класс:
bootRun {
main = 'com.example.demo.Application'
}
5. Связь с другими плагинами
5.1. Плагин управления зависимостями
Для Spring Boot 1.x раньше применялся плагин управления зависимостями автоматически. Это приведет к импорту спецификации зависимостей Spring Boot и будет действовать аналогично управлению зависимостями для Maven.
Но начиная с Spring Boot 2.x, нам нужно явно применить его в нашемbuild.gradle, если нам нужна эта функциональность:
apply plugin: 'io.spring.dependency-management'
5.2. Плагин Java
Когда мы применяем плагинjava, плагин Spring Boot Gradle выполняет несколько действий, например:
-
создание задачиa bootJar, которую мы можем использовать для создания исполняемого файла jar
-
создание задачиa bootRun, которую мы можем использовать для непосредственного запуска нашего приложения
-
отключение задачиjar
5.3. Плагин войны
Точно так же, когда мы применяем плагинwar, это приводит к:
-
создание задачиbootWar, которую мы можем использовать для генерации исполняемого файла войны
-
отключение задачиwar
6. Заключение
В этом кратком руководстве мы узнали о плагине Spring Boot Gradle и его различных задачах.
Также мы обсудили, как он взаимодействует с другими плагинами.