MAVEN多模块项目的创建以及部署(SpringBoot+MyBatis+IDEA)

项目基于SpringBoot+MyBatis+Maven构建,由于需要将定时任务与前台业务模块分离开来,所以需要进行maven多模块项目的开发。

项目整体结构如下:

kiv-parent
 |----pom.xml
 |----kiv-core
       |----pom.xml
 |----kiv-job
       |----pom.xml

##多模块项目的创建

这里使用IDEA开发工具进行创建,步骤如下:

创建父moudle

  1. 新建MAVEN项目

  2. 输入GroupId(一般为域名反写,类似com.myhexin)和artifactid(项目名),后面步骤直接next,最后finish

  3. 创建完成之后,删除项目中除pom.xml文件以外的所有文件,因为这里是父节点,只对下面的模块进行管理,之后在pom中添加:

    pom

    最终结构如下:

创建第一个子模块

  1. 在主项目名称上点右键,创建第一个子模块

  2. 创建子模块,因为是springboot项目,所以选择下面项目

  3. 这一步保证groupId和之前创建的ID一致,Artifact为模块名称

  1. 配置依赖

  2. 完成之后,结构如下:

创建第二个子模块

至此,一个模块已经创建好了,再创建第二个模块:

由于第二个模块为utils,所以不需要任何maven模板,按照默认maven工程创建即可。

  1. 创建新的模块

  2. 简单配置

  3. 接下来保证子模块路径在父模块路径之下即可

模块关联关系的配置

完成之后,项目结构如下:

添加项目依赖:

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

1
2
3
4
5
6
<!--引用springboot-utils项目 -->
<dependency>
<groupId>com.gl</groupId>
<artifactId>springboot-utils</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>

在IDEA中配置:

Ctrl+Shift+s打开项目设置,选择左侧module,选中将依赖其他模块的模块,在右侧选择dependence,点击绿色加号,选中被依赖的模块,apply即可。

多模块项目的部署

待完善。

遇到的问题

1. Idea在导入有maven项目时,不能自动识别pom.xml

当在idea中导入maven项目时,不能自动识别pom文件,显示为普通橙色xml文件。

解决方法:点击最右侧侧边栏MavenProjects点击添加(蓝的的小加号),选择你导入项目的pom.xml文件

2. 提示“Unmapped Spring configuration files found.Please configure Spring facet.”解决办法

首先为模块新增spring配置,“Ctrl+Shift+Alt+S”打开project的配置界面,选择“Modules”页签,

再选择报“Unmapped Spring configuration files found.”的Module,点击“+”按钮;

在弹出的窗口内,全部勾选Unmapped的Spring配置文件,点击“确定”,然后在父界面中点击“应用”或“确定”完成保存。

如果是SpringBoot项目,添加各种config即可,application.yml无需添加。

3. 多模块项目Module must not contain source root. The root already belongs to module

打开页面,删除报错提示的ContentRoot即可,右侧。

4. Failed to load property source from location ‘classpath:/application.yml’

解决办法
仔细的检查一下你的配置文件;我出现该错误的原因是因为未删除干净分模块的配置文件分隔符---

参考

0%