知識庫 / Spring / Spring Boot RSS 訂閱

Spring Boot 自定義父模塊依賴管理

Maven,Spring Boot
HongKong
4
02:24 PM · Dec 06 ,2025

1. 概述

Spring Boot 提供了一個更便捷的 Spring Boot 應用創建父 POM。

但是,如果已經有父 POM 可繼承,則使用父 POM 可能會不理想。

在本快速教程中,我們將探討如何在不使用父 starter 的情況下仍然使用 Boot。

2. 不使用父 POM

父 POM 負責處理依賴項和插件管理。 因此,從其繼承提供了一種有價值的支持,通常在創建  應用程序時是首選方案。 有關如何基於父啓動器構建應用程序的更多詳細信息,請參閲我們之前的文章。 

儘管如此,我們可能受到設計規則或其他偏好限制,使用不同的父 POM。

幸運的是, 提供了另一種繼承父啓動器的替代方案,仍然可以讓我們受益於一些其優勢。

如果我們不使用父 POM,仍然可以通過添加  模塊,並使用  聲明,來受益於依賴項管理。

<dependencyManagement>
     <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-dependencies</artifactId>
            <version>3.1.5</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

接下來,我們可以簡單地開始添加 Spring 依賴項並利用 Spring Boot 的特性:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

另一方面,缺少父 POM,我們不再能從插件管理中獲益。這意味着我們需要顯式地添加 spring-boot-maven-plugin

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

3. 覆蓋依賴版本

如果我們想使用某個依賴項的特定版本,而不是由 Boot 管理的版本,則需要在 dependencyManagement 部分聲明它,在聲明 spring-boot-dependencies 之前:

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
            <version>3.1.5</version>
        </dependency>
    </dependencies>
    // ...
</dependencyManagement>

相比之下,僅僅在 dependencyManagement 標籤之外聲明依賴項的版本將不再起作用。

4. 結論

在本快速教程中,我們看到了如何在不使用父 pom.xml的情況下使用 Spring Boot

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

發佈 評論

Some HTML is okay.