Complemento Spring Boot Gradle

1. Información general

El complemento Spring Boot Gradle nos ayuda a administrar las dependencias de Spring Boot, así como a empaquetar y ejecutar nuestra aplicación cuando usamos Gradle como herramienta de compilación.

En este tutorial, discutiremos cómo podemos agregar y configurar el complemento, y luego veremos cómo construir y ejecutar un proyecto Spring Boot.

2. Crear configuración de archivo

Primero, necesitamos agregar el complemento Spring Boot a nuestro archivo build.gradle incluyéndolo en nuestra sección de complementos :

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

Si usamos una versión de Gradle anterior a la 2.1 o necesitamos una configuración dinámica, podemos agregarla así:

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. Empaquetado de nuestra aplicación

Podemos empaquetar nuestra aplicación en un archivo ejecutable (archivo jar o war) compilándolo usando el comando build :

./gradlew build

Como resultado, el archivo ejecutable generado se colocará en el directorio build / libs .

Si queremos generar un archivo jar ejecutable , también debemos aplicar el complemento java :

apply plugin: 'java'

Por otro lado, si necesitamos un archivo war , aplicaremos el complemento war :

apply plugin: 'war'

La construcción de la aplicación generará archivos ejecutables para Spring Boot 1.xy 2.x. Sin embargo, para cada versión, Gradle desencadena diferentes tareas.

A continuación, echemos un vistazo más de cerca al proceso de compilación de cada versión de arranque.

3.1. Spring Boot 2.x

En Boot 2.x, las tareas bootJar y bootWar son responsables de empaquetar la aplicación.

La tarea bootJar es responsable de crear el archivo jar ejecutable . Esto se crea automáticamente una vez que se aplica el complemento de Java .

Veamos cómo podemos ejecutar la tarea bootJar directamente:

./gradlew bootJar

De manera similar, bootWar genera un archivo war ejecutable y se crea una vez que se aplica el complemento war .

Podemos ejecutar la tarea bootWar usando:

./gradlew bootWar

Tenga en cuenta que para Spring Boot 2.x, necesitamos usar Gradle 4.0 o posterior.

También podemos configurar ambas tareas. Por ejemplo, establezcamos la clase principal usando la propiedad mainClassName :

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

Alternativamente, podemos usar la misma propiedad de Spring Boot DSL:

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

3.2. Bota de primavera 1.x

Con Spring Boot 1.x, bootRepackage es responsable de crear el archivo ejecutable ( archivo jar o war según la configuración.

Podemos ejecutar la tarea bootRepackage directamente usando:

./gradlew bootRepackage

Al igual que en la versión Boot 2.x, podemos agregar configuraciones a la tarea bootRepackage en nuestro build.gradle:

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

También podemos deshabilitar la tarea bootRepackage configurando la opción habilitada en falso:

bootRepackage { enabled = false }

4. Ejecución de nuestra aplicación

Después de construir la aplicación, podemos ejecutarla usando el comando java -jar en el archivo jar ejecutable generado:

java -jar build/libs/demo.jar

El complemento Spring Boot Gradle también nos proporciona la tarea bootRun que nos permite ejecutar la aplicación sin la necesidad de compilarla primero:

./gradlew bootRun

La tarea bootRun se puede configurar simplemente en build.gradle.

Por ejemplo, podemos definir la clase principal:

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

5. Relación con otros complementos

5.1. Complemento de gestión de dependencias

Para Spring Boot 1.x, solía aplicar el complemento de administración de dependencias automáticamente. Esto importaría la lista de materiales de dependencias de Spring Boot y actuaría de manera similar a la administración de dependencias para Maven.

Pero desde Spring Boot 2.x, necesitamos aplicarlo explícitamente en nuestro build.gradle si necesitamos esta funcionalidad:

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

5.2. Complemento de Java

Cuando aplicamos el complemento java , el complemento Spring Boot Gradle realiza varias acciones como:

  • creando una tarea bootJar , que podemos usar para generar un archivo jar ejecutable
  • creando una tarea bootRun , que podemos usar para ejecutar nuestra aplicación directamente
  • deshabilitar la tarea jar

5.3. Complemento de guerra

De manera similar, cuando aplicamos el complemento war , eso da como resultado:

  • creando la tarea bootWar , que podemos usar para generar un archivo war ejecutable
  • deshabilitando la tarea de guerra

6. Conclusión

En este tutorial rápido, aprendimos sobre Spring Boot Gradle Plugin y sus diferentes tareas.

Además, discutimos cómo interactúa con otros complementos.