1. Обзор
Плагин Spring Boot Gradle помогает нам управлять зависимостями Spring Boot, а также упаковывать и запускать наше приложение при использовании Gradle в качестве инструмента сборки.
В этом руководстве мы обсудим, как добавить и настроить плагин, а затем увидим, как создать и запустить проект Spring Boot.
2. Конфигурация файла сборки
Во- первых, нам нужно добавить плагин Spring Boot в наш файл build.gradle
, включив его в раздел плагинов :
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'
С другой стороны, если нам нужен военный
файл, мы применим военный
плагин:
apply plugin: 'war'
При сборке приложения будут созданы исполняемые архивы для Spring Boot 1.x и 2.x. Однако для каждой версии Gradle запускает разные задачи.
Далее давайте подробнее рассмотрим процесс сборки для каждой версии Boot.
3.1. Весенняя загрузка 2.x
В Boot 2.x задачи bootJar
и bootWar
отвечают за упаковку приложения.
Задача bootJar
отвечает за создание исполняемого файла jar
. Это создается автоматически после применения плагина Java .
Давайте посмотрим, как мы можем выполнить задачу bootJar
напрямую:
./gradlew bootJar
Точно так же bootWar
генерирует исполняемый файл войны и создается после применения плагина войны .
Мы можем выполнить задачу bootWar,
используя:
./gradlew bootWar
Обратите внимание, что для Spring Boot 2.x нам нужно использовать Gradle 4.0 или более позднюю версию.
Мы также можем настроить обе задачи. Например, давайте установим основной класс, используя свойство mainClassName
:
bootJar {
mainClassName = 'com.foreach.Application'
}
В качестве альтернативы мы можем использовать то же свойство из Spring Boot DSL:
springBoot {
mainClassName = 'com.foreach.Application'
}
3.2. Весенняя загрузка 1.x
В Spring Boot 1.x bootRepackage
отвечает за создание исполняемого архива (jar
или war
-файл в зависимости от конфигурации.
Мы можем выполнить задачу bootRepackage
напрямую, используя:
./gradlew bootRepackage
Как и в версии Boot 2.x, мы можем добавить конфигурации в задачу bootRepackage
в нашем build.gradle:
bootRepackage {
mainClass = 'com.example.demo.Application'
}
Мы также можем отключить задачу
bootRepackage, установив для параметра enable
значение false:
bootRepackage {
enabled = false
}
4. Запуск нашего приложения
После создания приложения мы можем просто запустить его с помощью команды java -jar
в сгенерированном исполняемом файле jar:
java -jar build/libs/demo.jar
Плагин Spring Boot Gradle также предоставляет нам задачу bootRun
, которая позволяет нам запускать приложение без необходимости его предварительной сборки:
./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 выполняет несколько действий, таких как:
- создание задачи
bootJar
, которую мы можем использовать для создания исполняемого файла jar - создание задачи
bootRun
, которую мы можем использовать для прямого запуска нашего приложения - отключение
jar-
задачи
5.3. Плагин войны
Точно так же, когда мы применяем плагин войны , это приводит к:
- создание задачи
bootWar
, которую мы можем использовать для создания исполняемого файла войны - отключение
военной
задачи
6. Заключение
В этом кратком руководстве мы узнали о плагине Spring Boot Gradle и его различных задачах.
Также мы обсудили, как он взаимодействует с другими плагинами.