Plugin Spring Boot Gradle

1. Gambaran keseluruhan

Plugin Spring Boot Gradle membantu kami menguruskan pergantungan Spring Boot, serta mengemas dan menjalankan aplikasi kami ketika menggunakan Gradle sebagai alat binaan.

Dalam tutorial ini, kita akan membincangkan bagaimana kita dapat menambah dan mengkonfigurasi pemalam, dan kemudian kita akan melihat bagaimana membina dan menjalankan projek Spring Boot.

2. Bina Konfigurasi Fail

Pertama, kita perlu menambahkan plugin Spring Boot ke fail build.gradle kami dengan memasukkannya ke bahagian plugin kami :

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

Sekiranya kita menggunakan versi Gradle lebih awal dari 2.1 atau kita memerlukan konfigurasi dinamik, kita boleh menambahkannya seperti ini:

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. Mengemas Aplikasi Kami

Kami dapat mengemas aplikasi kami ke arkib yang dapat dieksekusi (jar atau file perang) dengan membuatnya menggunakan perintah build :

./gradlew build

Hasilnya, arkib boleh laku yang dihasilkan akan ditempatkan di direktori build / libs .

Sekiranya kita ingin menghasilkan fail jar yang boleh dilaksanakan , kita juga perlu menggunakan pemalam java :

apply plugin: 'java'

Sebaliknya, jika kita memerlukan fail perang , kita akan menggunakan plugin perang :

apply plugin: 'war'

Membangun aplikasi akan menghasilkan arkib yang boleh dilaksanakan untuk Spring Boot 1.x dan 2.x. Namun, untuk setiap versi, Gradle mencetuskan tugas yang berbeza.

Seterusnya, mari kita perhatikan lebih dekat proses build untuk setiap versi Boot.

3.1. Spring Boot 2.x

Dalam Boot 2.x, yang bootJar dan bootWar tugas bertanggungjawab untuk pembungkusan permohonan.

The bootJar tugas adalah bertanggungjawab mewujudkan laku jar fail. Ini dibuat secara automatik setelah pemalam java digunakan.

Mari lihat bagaimana kita dapat melaksanakan tugas bootJar secara langsung:

./gradlew bootJar

Begitu juga, bootWar menghasilkan fail perang yang dapat dilaksanakan dan dibuat setelah plugin perang digunakan.

Kita dapat melaksanakan tugas bootWar dengan menggunakan:

./gradlew bootWar

Perhatikan bahawa untuk Spring Boot 2.x, kita perlu menggunakan Gradle 4.0 atau lebih baru.

Kami juga dapat mengkonfigurasi kedua-dua tugas. Sebagai contoh, mari kita tetapkan kelas utama dengan menggunakan sifat mainClassName :

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

Sebagai alternatif, kita boleh menggunakan harta yang sama dari Spring Boot DSL:

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

3.2. Spring Boot 1.x

Dengan Spring Boot 1.x, bootRepackage bertanggungjawab untuk membuat arkib yang boleh dilaksanakan (balang atau fail perang bergantung pada konfigurasi.

Kami dapat melaksanakan tugas bootRepackage secara langsung dengan menggunakan:

./gradlew bootRepackage

Sama seperti versi Boot 2.x, kita dapat menambahkan konfigurasi ke tugas bootRepackage dalam build.gradle kami :

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

Kami juga dapat mematikan tugas bootRepackage dengan menetapkan pilihan yang diaktifkan ke false:

bootRepackage { enabled = false }

4. Menjalankan Aplikasi Kami

Selepas membina permohonan itu, kita hanya boleh berjalan dengan menggunakan java -jar arahan dalam fail jar laku yang dihasilkan:

java -jar build/libs/demo.jar

Plugin Spring Boot Gradle juga memberi kita tugas bootRun yang membolehkan kita menjalankan aplikasi tanpa perlu membinanya terlebih dahulu:

./gradlew bootRun

The bootRun tugas hanya boleh dikonfigurasikan dalam build.gradle.

Sebagai contoh, kita boleh menentukan kelas utama:

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

5. Perhubungan Dengan Plugin Lain

5.1. Plugin Pengurusan Ketergantungan

Untuk Spring Boot 1.x, ia digunakan untuk menggunakan plugin management dependency secara automatik. Ini akan mengimport BOM kebergantungan Spring Boot dan bertindak serupa dengan pengurusan dependensi untuk Maven.

Tetapi sejak Spring Boot 2.x, kami perlu menerapkannya secara eksplisit di build.gradle kami jika kami memerlukan fungsi ini:

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

5.2. Pemalam Java

Apabila kita menggunakan plugin java , plugin Spring Boot Gradle melakukan banyak tindakan seperti:

  • membuat tugas bootJar , yang dapat kita gunakan untuk menghasilkan fail jar yang dapat dilaksanakan
  • membuat tugas bootRun , yang dapat kita gunakan untuk menjalankan aplikasi kita secara langsung
  • melumpuhkan tugas balang

5.3. Plugin Perang

Begitu juga ketika kita menggunakan plugin perang , yang menghasilkan:

  • membuat tugas bootWar , yang dapat kita gunakan untuk menghasilkan fail perang yang dapat dilaksanakan
  • melumpuhkan tugas perang

6. Kesimpulannya

Dalam tutorial ringkas ini, kami mengetahui mengenai Spring Boot Gradle Plugin dan tugasnya yang berbeza.

Kami juga membincangkan bagaimana ia berinteraksi dengan pemalam lain.