Spring Boot Gradle Plugin

Spring Boot Gradle Plugin

1. Überblick

Das Spring Boot Gradle-Plugin hilft uns beim Verwalten von Spring Boot-Abhängigkeiten sowie beim Packen und Ausführen unserer Anwendung, wenn Gradle als Build-Tool verwendet wird.

In diesem Tutorial erfahren Sie, wie Sie das Plugin hinzufügen und konfigurieren können. Anschließend erfahren Sie, wie Sie ein Spring Boot-Projekt erstellen und ausführen.

2. Dateikonfiguration erstellen

Erstens,we need to add the Spring Boot plugin to our build.gradle Datei, indem Sie sie in unserenplugins Abschnitt aufnehmen:

plugins {
    id "org.springframework.boot" version "2.0.1.RELEASE"
}

Wenn wir eine Gradle-Version vor 2.1 verwenden oder eine dynamische Konfiguration benötigen, können wir sie stattdessen folgendermaßen hinzufügen:

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. Verpackung unserer Anwendung

Wir können unsere Anwendung in ein ausführbares Archiv (JAR- oder War-Datei) packen, indem wir sie mit dem Befehlbuild erstellen:

./gradlew build

Infolgedessen wird das generierte ausführbare Archiv im Verzeichnisbuild/libsabgelegt.

Wenn wir eine ausführbarejar-Datei generieren möchten, müssen wir auch dasjava-Plugin anwenden:

apply plugin: 'java'

Wenn wir dagegen einewar-Datei benötigen, wenden wir daswar-Plugin an:

apply plugin: 'war'

Durch das Erstellen der Anwendung werden ausführbare Archive für Spring Boot 1.x und 2.x generiert. Gradle löst jedoch für jede Version unterschiedliche Aufgaben aus.

Schauen wir uns als Nächstes den Erstellungsprozess für jede Boot-Version genauer an.

3.1. Spring Boot 2.x.

In Boot 2.x sind die AufgabenbootJar undbootWar für das Packen der Anwendung verantwortlich.

Die AufgabebootJarist für die Erstellung der ausführbaren Dateijarverantwortlich. Dies wird automatisch erstellt, sobald das Pluginjavaangewendet wird.

Mal sehen, wie wir die AufgabebootJardirekt ausführen können:

./gradlew bootJar

In ähnlicher Weise generiertbootWar eine ausführbare Kriegsdatei und wird erstellt, sobald das Pluginwarangewendet wird.

Wir können die AufgabebootWarausführen mit:

./gradlew bootWar

Beachten Sie, dass wir für Spring Boot 2.x Gradle 4.0 oder höher verwenden müssen.

Wir können auch beide Aufgaben konfigurieren. Legen Sie beispielsweise die Hauptklasse mithilfe der EigenschaftmainClassNamefest:

bootJar {
    mainClassName = 'com.example.Application'
}

Alternativ können wir dieselbe Eigenschaft von Spring Boot DSL verwenden:

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 oderwar Datei je nach Konfiguration.

Wir können die AufgabebootRepackagedirekt ausführen mit:

./gradlew bootRepackage

Ähnlich wie bei der Boot 2.x-Version können wir derbootRepackage-Aufgabe in unserenbuild.gradle: Konfigurationen hinzufügen

bootRepackage {
    mainClass = 'com.example.demo.Application'
}

Sie können die AufgabebootRepackageauch deaktivieren, indem Sie die Optionenabled auffalse: setzen

bootRepackage {
    enabled = false
}

4. Ausführen unserer Anwendung

Nach dem Erstellen der Anwendung wirdwe can just run it by using the java -jar command in der generierten ausführbaren JAR-Datei angezeigt:

java -jar build/libs/demo.jar

Spring Boot Gradle plugin also provides us with the bootRun task, mit dem wir die Anwendung ausführen können, ohne sie zuerst erstellen zu müssen:

./gradlew bootRun

Die AufgabebootRun kann einfach inbuild.gradle. konfiguriert werden

Zum Beispiel können wir die Hauptklasse definieren:

bootRun {
    main = 'com.example.demo.Application'
}

5. Beziehung zu anderen Plugins

5.1. Abhängigkeitsmanagement-Plugin

Für Spring Boot 1.x wurde das Abhängigkeitsverwaltungs-Plugin automatisch angewendet. Dies würde die Stückliste der Spring Boot-Abhängigkeiten importieren und sich ähnlich verhalten wie das Abhängigkeitsmanagement für Maven.

Aber seit Spring Boot 2.x müssen wir es explizit in unserenbuild.gradle anwenden, wenn wir diese Funktionalität benötigen:

apply plugin: 'io.spring.dependency-management'

5.2. Java Plugin

Wenn wir dasjava-Plugin anwenden, führt das Spring Boot Gradle-Plugin mehrere Aktionen aus:

  • Erstellen dera bootJar-Aufgabe, mit der eine ausführbare JAR-Datei generiert werden kann

  • Erstellen dera bootRun-Aufgabe, mit der wir unsere Anwendung direkt ausführen können

  • Deaktivieren derjar-Aufgabe

5.3. Kriegs-Plugin

Wenn wir daswar-Plugin anwenden, führt dies ebenfalls zu:

  • Erstellen derbootWar-Task, mit der wir eine ausführbare War-Datei generieren können

  • Deaktivieren derwar-Aufgabe

6. Fazit

In diesem kurzen Tutorial haben wir das Spring Boot Gradle Plugin und seine verschiedenen Aufgaben kennengelernt.

Außerdem haben wir diskutiert, wie es mit anderen Plugins interagiert.