多模块项目
如果你是初学者,这部分可以暂时跳过,先不用看,基于单模块熟悉整个 SpringBoot 之后;遇到复杂的项目时,再来了解多模块;
通常我们在开发微服务的时候,会将核心模块拆分为多个小的子模块,各自负责一块儿小的功能,来降低整个系统的耦合度;下面就以本教程项目的结构,来教大家如何创建一个多模块的项目,并完成配置及打包工作;
示例项目:https://github.com/vehang/ehang-spring-boot
部分结构的说明:
由于项目结构模块比较多,本文主要是讲解如何构建一个多模块的项目,部分不相关的模块这里就不进行演示
父模块:ehang-spring-boot
- 公共模块:spring-boot-005-common
- 子模块:spring-boot-005-responce-exception 引入spring-boot-005-common
- 其他子模块...
创建多模块
在前面的第一个 SpringBoot 项目中,我们学会如何创建一个简单的 SpringBoot 项目,有了这个基础项目之后,就可以在下面创建多个模块(module)
下面就来演示一下模块的创建过程:
New Module
选择父模块,右键,创建
New
-->Module
创建子模块
子模块的创建步骤和前面通过IDEA创建第一个 SpringBoot 项目的过程是一样的;
调整子模块的依赖
将父模块的groupId、版本等信息配置到子模块的
<parent>
中xml<parent> <groupId>com.ehang</groupId> <artifactId>ehang-spring-boot</artifactId> <version>0.0.1-SNAPSHOT</version> <relativePath>../pom.xml</relativePath> <!-- lookup parent from repository --> </parent>
父模块中添加
<modules>
将子模块中的name配置到父模块的modules标签中
xml<modules> <module>spring-boot-005-common</module> <module>spring-boot-005-responce-exception</module> </modules>
多模块打包
配置注意项
子模块的
<relativePath>
xml<relativePath>../pom.xml</relativePath> <!-- lookup parent from repository -->
Maven插件
子模块配置上插件
xml<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin>
父模块移除Maven插件
公共模块移除Maven插件
spring-boot-005-common
为公共模块,用于提供给其他模块使用,不单独运行,需要移除Maven插件添加common模块的依赖
依赖了
common
的子模块,需要在pom.xml中添加common的依赖配置项packaging配置为pom
xml<packaging>pom</packaging>
打包
mvn clean package -Dmaven.test.skip=true
打包成功之后,各模块的目录下会出现一个target
文件夹,里面回包含对应的jar包
多模块和单模块的创建就讲解完了,有任何问题可以随时交流;
最近在整理SpringBoot的学习教程,如果你也在学习SpringBoot,可以点击查看,欢迎交流!欢迎star
SpringBoot教程:https://github.com/vehang/ehang-spring-boot