Spring Boot Gradle Plugin

1. Oversikt

Spring Boot Gradle-plugin hjelper oss med å administrere Spring Boot-avhengigheter, samt pakke og kjøre applikasjonen vår når vi bruker Gradle som et byggeverktøy.

I denne opplæringen vil vi diskutere hvordan vi kan legge til og konfigurere programtillegget, og deretter se hvordan vi bygger og kjører et Spring Boot-prosjekt.

2. Bygg filkonfigurasjon

Først, Vi må legge til Spring Boot-plugin til vår build.gradle filen ved å inkludere den i vår plugins seksjon:

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

Hvis vi bruker en Gradle-versjon tidligere enn 2.1, eller hvis vi trenger dynamisk konfigurasjon, kan vi legge den til slik i stedet:

buildscript {ext {springBootVersion = '2.0.1.RELEASE'} repositories {mavenCentral ()} avhengigheter {classpath ("org.springframework.boot: spring-boot-gradle-plugin: $ {springBootVersion}")}} bruk plugin: 'org.springframework.boot'

3. Emballasje av applikasjonen vår

Vi kan pakke applikasjonen vår til et kjørbart arkiv (jar eller war file) ved å bygge den med bygge kommando:

./gradlew build

Som et resultat vil det genererte kjørbare arkivet bli plassert i build / libs katalog.

Hvis vi vil generere en kjørbar krukke filen, så må vi også bruke java plugg inn:

bruk plugin: 'java'

På den annen side, hvis vi trenger en krig filen, bruker vi krig plugg inn:

bruk plugin: 'war'

Ved å bygge applikasjonen genereres kjørbare arkiver for både Spring Boot 1.x og 2.x. For hver versjon utløser imidlertid Gradle forskjellige oppgaver.

Deretter, la oss se nærmere på byggeprosessen for hver Boot-versjon.

3.1. Spring Boot 2.x

I Boot 2.x vises bootJar og bootWar oppgaver er ansvarlige for å pakke søknaden.

De bootJar oppgaven er ansvarlig for å lage den kjørbare krukke fil. Dette opprettes automatisk når java plugin brukes.

La oss se hvordan vi kan utføre bootJar oppgave direkte:

./gradlew bootJar

På samme måte, bootWar genererer en kjørbar krigsfil og blir opprettet en gang krig plugin brukes.

Vi kan utføre bootWar oppgave ved hjelp av:

./gradlew bootWar

Merk at for Spring Boot 2.x, må vi bruke Gradle 4.0 eller nyere.

Vi kan også konfigurere begge oppgavene. La oss for eksempel sette hovedklassen ved å bruke mainClassName eiendom:

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

Alternativt kan vi bruke den samme egenskapen fra Spring Boot DSL:

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

3.2. Spring Boot 1.x

Med Spring Boot 1.x, bootRepackage er ansvarlig for å lage det kjørbare arkivet(krukke eller krig avhengig av konfigurasjonen.

Vi kan utføre bootRepackage oppgave direkte ved hjelp av:

./gradlew bootRepackage

I likhet med Boot 2.x-versjonen, kan vi legge til konfigurasjoner i bootRepackage oppgave i vår build.gradle:

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

Vi kan også deaktivere bootRepackage oppgaven ved å stille inn aktivert alternativ til falsk:

bootRepackage {enabled = false}

4. Kjører applikasjonen vår

Etter å ha laget applikasjonen, vi kan bare kjøre den ved å bruke java -jar kommando på den genererte kjørbare jar-filen:

java -jar build / libs / demo.jar

Spring Boot Gradle plugin gir oss også bootRun oppgave som gjør det mulig for oss å kjøre applikasjonen uten å måtte bygge den først:

./gradlew bootRun

De bootRun oppgaven kan enkelt konfigureres i build.gradle.

For eksempel kan vi definere hovedklassen:

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

5. Forhold til andre plugins

5.1. Plugin for avhengighetsadministrasjon

For Spring Boot 1.x brukte den automatisk plugin for avhengighetsadministrasjon. Dette vil importere Spring Boot avhengighetsliste og virke som avhengighetsadministrasjon for Maven.

Men siden Spring Boot 2.x, må vi bruke den eksplisitt i vår build.gradle hvis vi trenger denne funksjonaliteten:

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

5.2. Java-plugin

Når vi bruker java plugin, tar Spring Boot Gradle plugin flere handlinger som:

  • skape en bootJar oppgave, som vi kan bruke til å generere en kjørbar jar-fil
  • skape en bootRun oppgave, som vi kan bruke til å kjøre applikasjonen vår direkte
  • deaktivering krukke oppgave

5.3. War Plugin

Tilsvarende når vi bruker krig plugin, som resulterer i:

  • skape bootWar oppgave, som vi kan bruke til å generere en kjørbar krigsfil
  • deaktivere krig oppgave

6. Konklusjon

I denne raske opplæringen lærte vi om Spring Boot Gradle Plugin og dens forskjellige oppgaver.

Vi diskuterte også hvordan det samhandler med andre plugins.