Spring Boot Gradle Plugin

1. Oversigt

Spring Boot Gradle-pluginet hjælper os med at administrere Spring Boot-afhængigheder samt pakke og køre vores applikation, når vi bruger Gradle som et byggeværktøj.

I denne vejledning diskuterer vi, hvordan vi kan tilføje og konfigurere pluginet, og så vil vi se, hvordan man bygger og kører et Spring Boot-projekt.

2. Byg filkonfiguration

Først, vi er nødt til at tilføje Spring Boot plugin til vores build.gradle fil ved at medtage den i vores plugins afsnit:

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

Hvis vi bruger en Gradle-version tidligere end 2.1, eller vi har brug for dynamisk konfiguration, kan vi tilføje den sådan i stedet:

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

3. Pakning af vores ansøgning

Vi kan pakke vores applikation til et eksekverbart arkiv (jar eller krigsfil) ved at bygge det ved hjælp af bygge kommando:

./gradlew build

Som et resultat placeres det genererede eksekverbare arkiv i build / libs vejviser.

Hvis vi vil generere en eksekverbar krukke fil, så skal vi også anvende java plugin:

anvend plugin: 'java'

På den anden side, hvis vi har brug for en krig fil, anvender vi krig plugin:

anvend plugin: 'krig'

Bygning af applikationen genererer eksekverbare arkiver til både Spring Boot 1.x og 2.x. For hver version udløser Gradle imidlertid forskellige opgaver.

Lad os derefter se nærmere på byggeprocessen for hver Boot-version.

3.1. Spring Boot 2.x

I Boot 2.x vises bootJar og bootWar opgaver er ansvarlige for emballering af applikationen.

Det bootJar opgaven er ansvarlig for at oprette den eksekverbare krukke fil. Dette oprettes automatisk, når java plugin anvendes.

Lad os se, hvordan vi kan udføre bootJar opgave direkte:

./gradlew bootJar

Tilsvarende bootWar genererer en eksekverbar krigsfil og oprettes en gang krig plugin anvendes.

Vi kan udføre bootWar opgave ved hjælp af:

./gradlew bootWar

Bemærk, at vi til Spring Boot 2.x skal bruge Gradle 4.0 eller nyere.

Vi kan også konfigurere begge opgaver. Lad os for eksempel indstille hovedklassen ved hjælp af mainClassName ejendom:

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

Alternativt kan vi bruge den samme egenskab fra Spring Boot DSL:

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

3.2. Spring Boot 1.x

Med Spring Boot 1.x, bootRepackage er ansvarlig for at oprette det eksekverbare arkiv(krukke eller krig fil afhængigt af konfigurationen.

Vi kan udføre bootRepackage opgave direkte ved hjælp af:

./gradlew bootRepackage

I lighed med Boot 2.x-versionen kan vi tilføje konfigurationer til bootRepackage opgave i vores build.gradle:

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

Vi kan også deaktivere bootRepackage opgave ved at indstille aktiveret mulighed for at falsk:

bootRepackage {enabled = false}

4. Kørsel af vores ansøgning

Efter at have bygget applikationen, vi kan bare køre det ved hjælp af java -jar kommando på den genererede eksekverbare jar-fil:

java -jar build / libs / demo.jar

Spring Boot Gradle plugin giver os også bootRun opgave som gør det muligt for os at køre applikationen uden først at skulle bygge den:

./gradlew bootRun

Det bootRun opgave kan simpelthen konfigureres i build.gradle.

For eksempel kan vi definere hovedklassen:

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

5. Forhold til andre plugins

5.1. Plugin til afhængighedsstyring

For Spring Boot 1.x anvendte det automatisk plugin for afhængighedsstyring. Dette ville importere Spring Boot-afhængighedsstykklisten og virke svarende til afhængighedsstyring for Maven.

Men siden Spring Boot 2.x er vi nødt til at anvende det eksplicit i vores build.gradle hvis vi har brug for denne funktionalitet:

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

5.2. Java-plugin

Når vi anvender java plugin, Spring Boot Gradle plugin tager flere handlinger som:

  • skaber en bootJar opgave, som vi kan bruge til at generere en eksekverbar jar-fil
  • skaber en bootRun opgave, som vi kan bruge til at køre vores applikation direkte
  • deaktivering krukke opgave

5.3. War Plugin

Tilsvarende når vi anvender krig plugin, der resulterer i:

  • oprettelse af bootWar opgave, som vi kan bruge til at generere en eksekverbar krigsfil
  • deaktivering af krig opgave

6. Konklusion

I denne hurtige vejledning lærte vi om Spring Boot Gradle Plugin og dens forskellige opgaver.

Vi diskuterede også, hvordan det interagerer med andre plugins.