Spring Boot 教程(二十九):Spring Boot多模块构建与打包
在大型项目中使用多模块构建是一种很常见的做法,它可以帮助我们更好地组织代码,提高项目的模块化和可维护性。在这篇教程中,我们将学习如何在Spring Boot项目中实现多模块构建与打包。
1. 项目结构
首先,让我们定义一个简单的多模块项目结构。假设我们有一个父项目和两个子模块:
my-spring-boot-project
│
├── pom.xml
│
├── module-a
│ └── pom.xml
│
└── module-b
└── pom.xml
my-spring-boot-project
是父项目,包含了两个子模块module-a
和module-b
。- 每个模块都有自己的
pom.xml
文件。
2. 父模块 pom.xml
父模块的 pom.xml
定义了整个项目的基础配置。例如:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>my-spring-boot-project</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>pom</packaging>
<modules>
<module>module-a</module>
<module>module-b</module>
</modules>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>3.0.1</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
- 父项目的打包类型为
pom
。 dependencyManagement
用于集中管理依赖版本。- 在
<modules>
中列出了所有子模块。
3. 子模块 pom.xml
接下来是 module-a
的 pom.xml
示例:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.example</groupId>
<artifactId>my-spring-boot-project</artifactId>
<version>1.0.0-SNAPSHOT</version>
</parent>
<artifactId>module-a</artifactId>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
</project>
- 通过
<parent>
标签,子模块继承了父模块的配置。 - 添加了必要的 Spring Boot 依赖。
module-b
可以拥有类似的结构和配置。
4. 构建与打包
使用 Maven 构建和打包多模块项目:
在项目的根目录下,运行以下命令以构建整个项目:
mvn clean install
这将构建父项目及其所有子模块。
运行子模块时,可以分别进入子模块目录,再执行 Spring Boot 的运行命令:
mvn spring-boot:run
5. 总结
在本教程中,我们创建了一个简单的 Spring Boot 多模块项目。通过这种结构,我们可以更好地管理大型项目,复用代码模块,并维持项目的清晰可维护性。希望这能为你的 Spring Boot 开发带来帮助!