Spring Boot Gradle-plug-in

1. Overzicht

De Spring Boot Gradle-plug-in helpt ons Spring Boot-afhankelijkheden te beheren, evenals onze applicatie te verpakken en uit te voeren wanneer Gradle als een build-tool wordt gebruikt.

In deze tutorial bespreken we hoe we de plug-in kunnen toevoegen en configureren, en vervolgens zullen we zien hoe we een Spring Boot-project kunnen bouwen en uitvoeren.

2. Build-bestandsconfiguratie

Eerste, we moeten de Spring Boot-plug-in toevoegen aan onze build.gradle bestand door het op te nemen in ons plug-ins sectie:

plug-ins {id "org.springframework.boot" versie "2.0.1.RELEASE"}

Als we een Gradle-versie eerder dan 2.1 gebruiken of als we dynamische configuratie nodig hebben, kunnen we deze in plaats daarvan als volgt toevoegen:

buildscript {ext {springBootVersion = '2.0.1.RELEASE'} opslagplaatsen {mavenCentral ()} afhankelijkheden {classpath ("org.springframework.boot: spring-boot-gradle-plugin: $ {springBootVersion}")}} plug-in toepassen: 'org.springframework.boot'

3. Verpakken van onze applicatie

We kunnen onze applicatie verpakken in een uitvoerbaar archief (jar- of war-bestand) door het te bouwen met behulp van de bouwen opdracht:

./gradlew build

Als gevolg hiervan wordt het gegenereerde uitvoerbare archief in het build / libs directory.

Als we een uitvoerbaar bestand willen genereren pot bestand, dan moeten we ook het Java inpluggen:

plug-in toepassen: 'java'

Aan de andere kant, als we een oorlog bestand, passen we het oorlog inpluggen:

pas plug-in toe: 'oorlog'

Het bouwen van de applicatie genereert uitvoerbare archieven voor zowel Spring Boot 1.x als 2.x. Voor elke versie activeert Gradle echter verschillende taken.

Laten we vervolgens het bouwproces voor elke opstartversie eens nader bekijken.

3.1. Spring Boot 2.x

In Boot 2.x is het bootJar en bootWar taken zijn verantwoordelijk voor het verpakken van de applicatie.

De bootJar taak is verantwoordelijk voor het maken van het uitvoerbare bestand pot het dossier. Dit wordt automatisch gemaakt zodra het Java plug-in is toegepast.

Laten we eens kijken hoe we het bootJar taak direct:

./gradlew bootJar

Evenzo bootWar genereert een uitvoerbaar WAR-bestand en wordt gemaakt zodra het oorlog plug-in is toegepast.

We kunnen het bootWar taak met behulp van:

./gradlew bootWar

Merk op dat we voor Spring Boot 2.x Gradle 4.0 of hoger moeten gebruiken.

We kunnen ook beide taken configureren. Laten we bijvoorbeeld de hoofdklasse instellen met behulp van de mainClassName eigendom:

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

Als alternatief kunnen we dezelfde eigenschap van de Spring Boot DSL gebruiken:

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

3.2. Spring Boot 1.x

Met Spring Boot 1.x, bootRepackage is verantwoordelijk voor het aanmaken van het uitvoerbare archief(pot of oorlog bestand afhankelijk van de configuratie.

We kunnen het bootRepackage taak direct met behulp van:

./gradlew bootRepackage

Net als bij de Boot 2.x-versie, kunnen we configuraties toevoegen aan het bootRepackage taak in onze build.gradle:

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

We kunnen ook het bootRepackage taak door de ingeschakeld optie om vals:

bootRepackage {enabled = false}

4. Onze applicatie draaien

Na het bouwen van de applicatie, we kunnen het gewoon uitvoeren door de java -jar opdracht op het gegenereerde uitvoerbare jar-bestand:

java -jar build / libs / demo.jar

Spring Boot Gradle-plug-in biedt ons ook de bootRun taak waardoor we de applicatie kunnen draaien zonder deze eerst te hoeven bouwen:

./gradlew bootRun

De bootRun taak kan eenvoudig worden geconfigureerd in build.gradle.

We kunnen bijvoorbeeld de hoofdklasse definiëren:

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

5. Relatie met andere plug-ins

5.1. Plug-in voor afhankelijkheidsbeheer

Voor Spring Boot 1.x werd de plug-in voor afhankelijkheidsbeheer automatisch toegepast. Dit zou de stuklijst voor Spring Boot-afhankelijkheden importeren en op dezelfde manier werken als afhankelijkheidsbeheer voor Maven.

Maar sinds Spring Boot 2.x moeten we het expliciet toepassen in onze build.gradle als we deze functionaliteit nodig hebben:

pas plug-in toe: 'io.spring.dependency-management'

5.2. Java-plug-in

Wanneer we de Java plug-in, voert de Spring Boot Gradle-plug-in meerdere acties uit, zoals:

  • creëren een bootJar taak, die we kunnen gebruiken om een ​​uitvoerbaar jar-bestand te genereren
  • creëren een bootRun taak, die we kunnen gebruiken om onze applicatie rechtstreeks uit te voeren
  • uitschakelen pot taak

5.3. War-plug-in

Evenzo, wanneer we de oorlog plugin, dat resulteert in:

  • het creëren van de bootWar task, die we kunnen gebruiken om een ​​uitvoerbaar WAR-bestand te genereren
  • het uitschakelen van de oorlog taak

6. Conclusie

In deze korte tutorial hebben we geleerd over de Spring Boot Gradle-plug-in en zijn verschillende taken.

We hebben ook besproken hoe het samenwerkt met andere plug-ins.