创建主模块rail-plate-line

1、点击Create New Project  --> 选择Spring Initializr  -- > 选择本地jdk

 

spring boot 构建 springboot构建多模块项目_spring boot 构建

2、Group为com.dingcheng365,Artifact为rail-plate-line,点击next

 

spring boot 构建 springboot构建多模块项目_项目结构_02

3、不选择任何依赖,直接点击next

 

spring boot 构建 springboot构建多模块项目_项目结构_03

4、 设置Project name为rail-plate-line(默认的也是),项目放在D:\Projects\IDEAWorkSpace下,点击finish,创建完成。

 

spring boot 构建 springboot构建多模块项目_xml_04

项目结构:

spring boot 构建 springboot构建多模块项目_项目结构_05

这里删除不需要的文件,只留.idea文件夹、pom.xml和rail-plate-line.xml

删除完毕之后的项目结构:

spring boot 构建 springboot构建多模块项目_xml_06

创建子项目rpl-web

1、 在主项目rail-plate-line右键,依次选择New --> Module

 

spring boot 构建 springboot构建多模块项目_xml_07

2、 同样选择Spring Initializr,SDK使用主项目的SDK就可以,点击next

 

spring boot 构建 springboot构建多模块项目_java_08

3、 设置Group为com.dingcheng365,Artifact为rpl-web,Package为com.dingcheng365.rpl

由于这个子项目是启动项目,所以命名的时候才使用根目录命名。点击next

 

spring boot 构建 springboot构建多模块项目_xml_09

4、 添加web --> Spring Web Starter依赖,点击next

 

spring boot 构建 springboot构建多模块项目_项目结构_10

5、 保持默认即可,点击finish,子项目创建成功。

 

spring boot 构建 springboot构建多模块项目_spring boot 构建_11

Ctrl + s或者刷新项目后,会出现.iml文件,此时的项目结构:

 

spring boot 构建 springboot构建多模块项目_java_12

6、 删除文件,rpl-web子项目仅保留src文件夹、pom.xml、rpl-web.iml文件,删除后的项目结构:

 

spring boot 构建 springboot构建多模块项目_spring boot 构建_13

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>标签,覆盖相同的属性:

 

spring boot 构建 springboot构建多模块项目_xml_14

 

spring boot 构建 springboot构建多模块项目_xml_15

覆盖之前的子项目的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.syscom.dingcheng365.rpl.core。而且这两个子项目不需要添加web依赖。

创建完毕后的项目结构:

spring boot 构建 springboot构建多模块项目_spring boot 构建_16

子项目中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中复制。

至此,项目创建完成!!