知識庫 / Spring / Spring Boot RSS 訂閱

Spring Boot Gradle 插件

Gradle,Spring Boot
HongKong
5
02:04 PM · Dec 06 ,2025

1. 概述

Spring Boot Gradle 插件幫助我們管理 Spring Boot 依賴項,以及使用 Gradle 作為構建工具時打包和運行我們的應用程序。

在本教程中,我們將討論如何添加和配置插件,然後我們將看到如何構建和運行一個 Spring Boot 項目。

2. 構建文件配置

首先,我們需要將 Spring Boot 插件添加到我們的 <em >build.gradle</em ></strong> 文件中,通過將其包含在我們的plugins 部分中實現:

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

如果使用 Gradle 版本早於 2.1 或需要動態配置,則可以使用以下方式添加:

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. 封裝我們的應用程序

我們可以使用 build 命令構建應用程序,將其打包成可執行歸檔文件(如 JAR 或 WAR 文件):

./gradlew build

因此,生成的可執行歸檔文件將被放置在 build/libs 目錄下。

如果我們想要生成一個可執行的 jar 文件,則還需要應用 java 插件:

apply plugin: 'java'

另一方面,如果我們需要一個 WAR 文件,我們將應用 WAR 插件:

apply plugin: 'war'

構建應用程序將生成適用於 Spring Boot 1.x 和 2.x 的可執行歸檔文件。但是,對於每個版本,Gradle 會觸發不同的任務。

接下來,讓我們更詳細地瞭解每個 Boot 版本的構建過程。

3.1. Spring Boot 2.x

在 Boot 2.x 中,bootJarbootWar 任務負責打包應用程序。

bootJar 任務負責創建可執行的 jar 文件。 這在應用了 java 插件後會自動創建。

讓我們看看如何直接執行 bootJar 任務:

./gradlew bootJar

同樣,bootWar會生成可執行的WAR文件,並在war插件應用後生成。

我們可以使用以下命令執行bootWar任務:

./gradlew bootWar

請注意,對於 Spring Boot 2.x 版本,我們需要使用 Gradle 4.0 或更高版本。

我們還可以配置兩個任務。例如,我們可以通過使用 mainClassName 屬性來設置主類:

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

當然,以下是翻譯後的內容:

或者,我們也可以使用 Spring Boot DSL 中的相同屬性:

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

3.2. Spring Boot 1.x

使用 Spring Boot 1.x 時,bootRepackage 負責創建可執行的歸檔文件(jar 或 war 文件,具體取決於配置)。

我們可以直接使用 bootRepackage 任務:

./gradlew bootRepackage

類似於 Boot 2.x 版本,我們可以向我們的 build.gradle 中的 bootRepackage 任務添加配置。

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

我們還可以通過將 bootRepackage 任務的 enabled 選項設置為 false 來禁用它。

bootRepackage {
    enabled = false
}

4. 運行我們的應用程序

構建應用程序後,我們可以通過在生成的可執行 JAR 文件上使用 <em >java -jar</em > 命令來運行它:

java -jar build/libs/demo.jar

Spring Boot Gradle 插件還為我們提供了 bootRun 任務, 從而使我們能夠在無需首先構建應用程序的情況下運行應用程序:

./gradlew bootRun

bootRun任務可以簡單地配置在build.gradle中。

例如,我們可以定義主類:

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

5. 與其他插件的關係

5.1 依賴管理插件

對於 Spring Boot 1.x 版本,它會自動應用依賴管理插件。 這會導入 Spring Boot 依賴的 BOM(基本構建對象)並以類似於 Maven 的方式進行依賴管理。

但是,自 Spring Boot 2.x 版本起,如果需要使用此功能,則需要在 build.gradle 中顯式地應用它:

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

5.2. Java 插件

當應用 Java 插件時,Spring Boot Gradle 插件會執行以下操作:

  • 創建 bootJar 任務,該任務可用於生成可執行的 JAR 文件
  • 創建 bootRun 任務,用於直接運行應用程序
  • 禁用 jar 任務

5.3. WAR 插件

類似於使用 WAR 插件,會導致以下結果:

  • 創建 bootWar 任務,可用於生成可執行的 WAR 文件
  • 禁用 WAR 任務

6. 結論

在本快速教程中,我們學習了 Spring Boot Gradle 插件及其不同的任務。

此外,我們還討論了它與其它插件的交互方式。

user avatar
0 位用戶收藏了這個故事!
收藏

發佈 評論

Some HTML is okay.