Spring Boot Gradle Plugin

1. Übersicht

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 werden wir diskutieren, wie wir das Plugin hinzufügen und konfigurieren können, und dann werden wir sehen, wie ein Spring Boot-Projekt erstellt und ausgeführt wird.

2. Erstellen Sie die Dateikonfiguration

Zuerst müssen wir das Spring Boot-Plugin zu unserer build.gradle- Datei hinzufügen , indem wir es in unseren Plugin- Bereich 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 Befehl build erstellen :

./gradlew build

Infolgedessen wird das generierte ausführbare Archiv im Verzeichnis build / libs abgelegt .

Wenn wir eine ausführbare JAR- Datei generieren möchten , müssen wir auch das Java- Plugin anwenden :

apply plugin: 'java'

Wenn wir dagegen eine Kriegsdatei benötigen , wenden wir das Kriegs- Plugin an:

apply plugin: 'war'

Durch das Erstellen der Anwendung werden ausführbare Archive für Spring Boot 1.x und 2.x generiert. Für jede Version löst Gradle jedoch 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 Aufgaben bootJar und bootWar für das Packen der Anwendung verantwortlich.

Die bootJar- Task ist für die Erstellung der ausführbaren JAR- Datei verantwortlich. Dies wird automatisch erstellt, sobald das Java- Plugin angewendet wird.

Mal sehen, wie wir die bootJar- Task direkt ausführen können:

./gradlew bootJar

In ähnlicher Weise generiert bootWar eine ausführbare War-Datei und wird erstellt, sobald das War- Plugin angewendet wird.

Wir können die bootWar- Task ausfü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. Lassen Sie uns beispielsweise die Hauptklasse mithilfe der Eigenschaft mainClassName festlegen :

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

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

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

3.2. Spring Boot 1.x.

Mit Spring Boot 1.x ist bootRepackage für die Erstellung des ausführbaren Archivs verantwortlich (JAR- oder War- Datei, abhängig von der Konfiguration.

Wir können die bootRepackage- Task direkt ausführen mit:

./gradlew bootRepackage

Ähnlich wie bei der Boot 2.x-Version können wir der bootRepackage- Task in unserem build.gradle Konfigurationen hinzufügen:

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

Sie können die bootRepackage- Task auch deaktivieren, indem Sie die aktivierte Option auf false setzen:

bootRepackage { enabled = false }

4. Ausführen unserer Anwendung

Nach dem Erstellen der Anwendung können wir sie einfach mit dem Befehl java -jar für die generierte ausführbare JAR-Datei ausführen:

java -jar build/libs/demo.jar

Das Spring Boot Gradle-Plugin bietet uns auch die BootRun- Task , mit der wir die Anwendung ausführen können, ohne sie zuerst erstellen zu müssen:

./gradlew bootRun

Die bootRun- Task kann einfach in build.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 Spring Boot-Abhängigkeitsstückliste importieren und sich ähnlich wie das Abhängigkeitsmanagement für Maven verhalten.

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

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

5.2. Java Plugin

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

  • Erstellen einer BootJar- Task, mit der wir eine ausführbare JAR-Datei generieren können
  • Erstellen einer BootRun- Task, mit der wir unsere Anwendung direkt ausführen können
  • JAR- Aufgabe deaktivieren

5.3. Kriegs-Plugin

Wenn wir das Kriegs- Plugin anwenden , führt dies zu:

  • Erstellen der BootWar- Task, mit der wir eine ausführbare War-Datei generieren können
  • Deaktivieren des Krieges 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.