Plugin Gradle Boot Musim Semi

1. Ikhtisar

Plugin Spring Boot Gradle membantu kami mengelola dependensi Spring Boot, serta memaketkan dan menjalankan aplikasi kami saat menggunakan Gradle sebagai alat build.

Dalam tutorial ini, kita akan membahas bagaimana kita dapat menambahkan dan mengkonfigurasi plugin, dan kemudian kita akan melihat bagaimana membangun dan menjalankan proyek Spring Boot.

2. Bangun Konfigurasi File

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

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

Jika kita menggunakan versi Gradle yang lebih lama dari 2.1 atau membutuhkan konfigurasi dinamis, kita dapat 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. Pengemasan Aplikasi Kami

Kita dapat mengemas aplikasi kita ke arsip yang dapat dieksekusi (jar atau file perang) dengan membangunnya menggunakan perintah build :

./gradlew build

Hasilnya, arsip yang dapat dijalankan yang dihasilkan akan ditempatkan di direktori build / libs .

Jika kita ingin membuat file jar yang dapat dieksekusi , maka kita juga perlu menerapkan plugin java :

apply plugin: 'java'

Di sisi lain, jika kami membutuhkan file perang , kami akan menerapkan plugin perang :

apply plugin: 'war'

Membangun aplikasi akan menghasilkan arsip yang dapat dieksekusi untuk Spring Boot 1.x dan 2.x. Namun, untuk setiap versi, Gradle memicu tugas yang berbeda.

Selanjutnya, mari kita lihat lebih dekat proses build untuk setiap versi Boot.

3.1. Boot Musim Semi 2.x

Di Boot 2.x, tugas bootJar dan bootWar bertanggung jawab untuk memaketkan aplikasi.

The bootJar tugas adalah bertanggung jawab untuk menciptakan executable jar file yang. Ini dibuat secara otomatis setelah plugin java diterapkan.

Mari kita lihat bagaimana kita dapat menjalankan tugas bootJar secara langsung:

./gradlew bootJar

Demikian pula, bootWar menghasilkan file perang yang dapat dieksekusi dan dibuat setelah plugin perang diterapkan.

Kita dapat menjalankan tugas bootWar menggunakan:

./gradlew bootWar

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

Kami juga dapat mengkonfigurasi kedua tugas tersebut. Sebagai contoh, mari kita setel kelas utama dengan menggunakan properti mainClassName :

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

Alternatifnya, kita dapat menggunakan properti yang sama dari Spring Boot DSL:

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

3.2. Boot Musim Semi 1.x

Dengan Spring Boot 1.x, bootRepackage bertanggung jawab untuk membuat arsip yang dapat dieksekusi ( file jar atau war tergantung pada konfigurasinya.

Kita dapat menjalankan tugas bootRepackage secara langsung menggunakan:

./gradlew bootRepackage

Mirip dengan versi Boot 2.x, kita dapat menambahkan konfigurasi ke tugas bootRepackage di build.gradle kita :

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

Kami juga dapat menonaktifkan tugas bootRepackage dengan mengatur opsi yang diaktifkan ke false:

bootRepackage { enabled = false }

4. Menjalankan Aplikasi Kami

Setelah membangun aplikasi, kita bisa menjalankannya dengan menggunakan java jar perintah pada file jar executable yang dihasilkan:

java -jar build/libs/demo.jar

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

./gradlew bootRun

The bootRun tugas dapat hanya dikonfigurasi dalam build.gradle.

Misalnya, kita dapat mendefinisikan kelas utama:

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

5. Kaitannya Dengan Plugin Lain

5.1. Plugin Manajemen Ketergantungan

Untuk Spring Boot 1.x, ini digunakan untuk menerapkan plugin manajemen ketergantungan secara otomatis. Ini akan mengimpor BOM dependensi Spring Boot dan bertindak serupa dengan manajemen dependensi untuk Maven.

Tetapi sejak Spring Boot 2.x, kita perlu menerapkannya secara eksplisit di build.gradle jika kita membutuhkan fungsionalitas ini:

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

5.2. Plugin Java

Saat kami menerapkan plugin java , plugin Spring Boot Gradle melakukan beberapa tindakan seperti:

  • membuat tugas bootJar , yang dapat kita gunakan untuk menghasilkan file jar yang dapat dieksekusi
  • membuat tugas bootRun , yang dapat kita gunakan untuk menjalankan aplikasi kita secara langsung
  • menonaktifkan tugas jar

5.3. Plugin Perang

Demikian pula, ketika kita menerapkan plugin perang , yang menghasilkan:

  • membuat tugas bootWar , yang dapat kita gunakan untuk menghasilkan file perang yang dapat dieksekusi
  • menonaktifkan tugas perang

6. Kesimpulan

Dalam tutorial singkat ini, kita belajar tentang Spring Boot Gradle Plugin dan berbagai tugasnya.

Juga, kami membahas bagaimana itu berinteraksi dengan plugin lain.