目前为止我所见过的项目中有两种类型的多模块项目:

一、父项目下面嵌套多个子模块。

IDEA创建多个模块项目

搭建方式:

期望的项目结构如下 ,这里是创建一个项目下有一个springboot模块项目提供web服务,引用另一个java项目(相当于业务逻辑)
springboot-test 
—-springboot-api 
—-springboot-utils

首先打开IDEA,点击“Create New Project”

IDEA创建多个模块项目

选择Maven,点击下一步 
IDEA创建多个模块项目
填写信息,直到完成项目创建

IDEA创建多个模块项目
创建成功后 
IDEA创建多个模块项目

删除src文件夹,在pom文件中添加

<packaging>pom</packaging>

IDEA创建多个模块项目

2、创建Springboot项目模块

在根项目上点击右键,选择Module

IDEA创建多个模块项目

选择Spring Initializr

IDEA创建多个模块项目

填写信息 
IDEA创建多个模块项目

选择依赖项 
IDEA创建多个模块项目

完成向导,springboot-api是新建出来的项目

IDEA创建多个模块项目

3、创建utils项目模块

再次新建Module

IDEA创建多个模块项目

选择Spring Initializr 
IDEA创建多个模块项目

填写信息

IDEA创建多个模块项目

什么都不选,完成向导

IDEA创建多个模块项目

完成后项目结构如下

IDEA创建多个模块项目

4、添加项目依赖

我们希望api项目能够使用utils项目的类,需要在api项目中引用utils项目 
在api项目的pom.xml的dependencies节点添加如下内容

<!--引用springboot-utils项目 -->
        <dependency>
            <groupId>com.gl</groupId>
            <artifactId>springboot-utils</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>

结果如下 
IDEA创建多个模块项目

5、编写测试代码

上面添加好了依赖,下面我们分别编写api项目和utils项目的测试代码验证一下项目结构和依赖

假设我们在utils项目中有个helper类,类里有个获取系统时间的方法,希望访问api接口的时候返回系统时间,api接口需要使用helper类获取系统时间

(1)、编写utils项目代码

在utils项目下建立包和类,如下 
IDEA创建多个模块项目 
类中写方法 
/** 
* 获取当前时间 
* @return 
*/ 
public static Date getCurDate() 

Date d = new Date(); 
return d; 
}

IDEA创建多个模块项目

(2)、编写api项目代码

在api项目的代码下添加包 
在新建的包下添加测试类 
最终结构如下 
IDEA创建多个模块项目

编写接口方法 
IDEA创建多个模块项目

(3)、测试

执行api项目 
IDEA创建多个模块项目

访问接口地址,可以显示出来时间

IDEA创建多个模块项目

二、多个子模块平级存在,但是其中有一个模块为主pom文件存在。

IDEA创建多个模块项目

该框架模式的创建方式和上面说的差不多,区别在于:在删除空的maven项目src的同时需要删掉pom.xml和.iml文件,然后在下面创建平级的项目模块,指定一个为父pom模式。

 

相关文章: