springboot maven多模块项目结构及maven标签解释

这两年一直在使用jeesite框架,2018年jeesite4升级为springboot项目,我这边也紧跟着升级了。现在对项目模块进行整理

首先解释几个maven pom文件中的标签,作为一个maven管理的项目模块,必不可少的事GAV标签,即groupIdartifactIdversion
groupId
项目名称,是项目组织唯一的标识符,实际对应JAVA的包的结构,是main目录里java的目录结构。

artifactId
模块名称,就是模块的唯一的标识符,实际对应项目的名称,就是项目根目录的名称。

version
就是项目的版本。

其次介绍parsent(继承标签),packaging(打包标签),modules(聚合标签)标签
1.聚合主要是为了方便快速构建项目,继承主要是为了消除重复配置;
2.对于聚合模块而言,它知道有哪些被聚合的模块,但那些被聚合的模块不知道这个聚合模块的存在;对于继承的父pom而言,它不知道有哪些子模块继承它,

 但那些子模块都必须知道自己的父POM是什么;

3.聚合POM与继承中的父POM的packaging都必须是pom;同时,聚合模块与继承中的父模块除了POM外,都没有实际的内容

packaging的几种方式及区别:
项目的打包类型:pom、jar、war

packing默认是jar类型,

<packaging>pom</packaging>   --------->   父类型都为pom类型

<packaging>jar</packaging>      --------->   内部调用或者是作服务使用

<packaging>war</packaging>    --------->   需要部署的项目

此处为分割线,以上为maven的标签解释,下来举jeesite4框架为例进行说明:

下图是整个项目的项目结构(springboot的maven多模块管理项目),其中common,modules,parsent,root,web是框架自带模块,task是我新建的测试模块
在这里插入图片描述

root模块是聚合模块,里面会有modules标签

在这里插入图片描述
整个项目会按照mudules里面的模块进行构建,我新建的task模块如果要添加到整个项目中来,也需要添加到modules标签中

parsent模块是其他几个子模块的父模块

在这里插入图片描述

注意:聚合模块和作为父模块的pom中packaging方式都必须是“pom”

接下里介绍子模块,common,modules,web和task,在jeesite4框架中,开发者主要是在web模块中进行开发具体业务,common模块和modules中的core模块主要是提供框架常用功能(比如权限,登陆等)以及工具功能(utils)的模块,task是我写的测试模块,主要提供定时器功能,所以按照以前的开发思维,common,modules,task可以打成jar作为依赖供web模块使用,所以这三个模块中的parsen标签里都是parsent模块,packing标签的打包方式都是jar,如下图:

common模块的pom文件
在这里插入图片描述

modules的core模块的pom文件
在这里插入图片描述

task模块的pom文件
在这里插入图片描述

已知:<packaging>jar</packaging> ---------> 内部调用或者是作服务使用

modules中的core模块中依赖了common模块
在这里插入图片描述

web模块又依赖了core模块,所以web可以直接调用core以及common模块中的类

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值