如何创建一个SpringBoot多模块项目
创建主模块rail-plate-line
1、点击Create New Project --> 选择Spring Initializr -- > 选择本地jdk
2、Group为com.dingcheng365,Artifact为rail-plate-line,点击next
3、不选择任何依赖,直接点击next
4、 设置Project name为rail-plate-line(默认的也是),项目放在D:\Projects\IDEAWorkSpace下,点击finish,创建完成。
项目结构:
这里删除不需要的文件,只留.idea文件夹、pom.xml和rail-plate-line.xml
删除完毕之后的项目结构:
创建子项目rpl-web
1、 在主项目rail-plate-line右键,依次选择New --> Module
2、 同样选择Spring Initializr,SDK使用主项目的SDK就可以,点击next
3、 设置Group为com.dingcheng365,Artifact为rpl-web,Package为com.dingcheng365.rpl
由于这个子项目是启动项目,所以命名的时候才使用根目录命名。点击next
4、 添加web --> Spring Web Starter依赖,点击next
5、 保持默认即可,点击finish,子项目创建成功。
Ctrl + s或者刷新项目后,会出现.iml文件,此时的项目结构:
6、 删除文件,rpl-web子项目仅保留src文件夹、pom.xml、rpl-web.iml文件,删除后的项目结构:
7、 修改pom.xml
修改rail-plate-line(主项目)下的pom.xml,添加<modules>,将新创建的rpl-web添加进去。即添加:
<modules> <module>rpl-web</module> </modules>
在子项目的pom.xml中找到<parent>标签,复制主项目pom.xml中的groupId、artifactId、version到子项目的<parent>标签,覆盖相同的属性:
覆盖之前的子项目的parent标签:
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.6.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent>
覆盖之后的parent标签:
<parent> <groupId>com.dingcheng365</groupId> <artifactId>rail-plate-line</artifactId> <version>0.0.1-SNAPSHOT</version> <relativePath/> <!-- lookup parent from repository --> </parent>
点击Import Changes。
使用同样的方法创建其余两个子项目rpl-sys、rpl-core,唯一不同的地方在于第三步设置Package的时候分别为com.dingcheng365.rpl.sys和com.dingcheng365.rpl.core。而且这两个子项目不需要添加web依赖。
创建完毕后的项目结构:
子项目中src\main\resources下的application.properties和src\main\java下的SpringBoot启动类Application.java保留web子项目的就可以,其他两个项目都需要删除。
rpl-web子项目中需要使用rpl-core和rpl-sys项目中的类和方法,需要在rpl-web子项目中的pom.xml中添加两个子项目的引用。添加:
<dependency> <groupId>com.dingcheng365</groupId> <artifactId>rpl-core</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency> <dependency> <groupId>com.dingcheng365</groupId> <artifactId>rpl-sys</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency>
中间的三个属性可以到另外两个子项目的pom.xml中复制。
至此,项目创建完成!!