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