1.父模块
(1)创建父模块后在pom.xml中添加
<packaging>pom</packaging>
(2)指定了当前项目继承自Spring Boot的spring-boot-starter-parent
。
spring-boot-starter-parent
是一个特殊的POM,它提供了很多有用的默认配置,使得Spring Boot项目的开发更加简单和一致。这些默认配置包括依赖管理、插件配置、资源处理、编译设置等。
<!-- 继承自Spring Boot的starter parent -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.2.RELEASE</version>
<relativePath/> <!-- 可选,用于指定父POM的相对路径,如果不指定,Maven会在远程仓库中查找 -->
</parent>
(3) 在 properties 中可以自定义各个依赖的版本信息
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<fastjson.version>1.2.68</fastjson.version> <!--例如指定fastjson的版本-->
</properties>
(4)在 dependencies 中指定通用的依赖
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>${fastjson.version}</version> <!--使用在properties中指定fastjson的版本-->
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
</dependencies>
(5)对于子模块添加和删除需要改动modules中的信息
(6)对于dependencyManagement定义的依赖,子模块会自动继承
2.子模块
在每个子模块中添加父类的groupId和artifactId
<parent>
<groupId> 父类的groupId </groupId>
<artifactId>父类的artifactId </artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
注意:对于特殊的子模块:Common模块、Api模块等,其他子类若想使用该模块的功能则需要引入相应的dependency