«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-файл), создав его с помощью команда сборки:

./gradlew build

В результате сгенерированный исполняемый архив будет помещен в каталог build/libs.

Если мы хотим сгенерировать исполняемый jar-файл, то нам также нужно применить java-плагин:

apply plugin: 'java'

С другой стороны, если нам нужен war-файл, мы применим war-плагин: ~ ~~

apply plugin: 'war'

При сборке приложения будут созданы исполняемые архивы для Spring Boot 1.x и 2.x. Однако для каждой версии Gradle запускает разные задачи.

Далее давайте подробнее рассмотрим процесс сборки для каждой версии Boot.

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.baeldung.Application'
}

В качестве альтернативы мы можем использовать то же свойство из Spring Boot DSL:

springBoot {
    mainClassName = 'com.baeldung.Application'
}

3.2. Spring Boot 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 он использовался для применения управления зависимостями pl автоматически. Это будет импортировать спецификацию зависимостей 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 и его различных задачах.

Также мы обсудили, как он взаимодействует с другими плагинами.