maven多模块.聚合.继承

一.为什么要划分模块?

我们初学阶段做的项目可能都是整个项目构建一个war包,采用三层架构,每一层都放到各自的package下,web,service,mapper,utils等。但是,随着我们maven项目越来越大,就会产生一些问题:
(1)build时间越来越长,有时可能你只是改动了web层中的代码,却要build整个项目
(2)pom.xml是用来继承,重用的。如果另外一个项目需要用到这个项目中的某个模块,如果这个项目没有划分模块,也就是只有一个war,那么只能依赖于这个war包,也就讲这整个项目都依赖过来了

二.为什么要聚合?

聚合就是把多个项目聚合到一起(可以建立一个专门负责聚合工作的project)
分久必合是大势,前面我们为了避免修改一小段代码而install整个项目采用分模块,但是如果我们所有模块的代码都改动了呢?难道要一个一个的install吗。
所以我们通常的做法是创建manager项目,再在其中聚合其它模块

    <modules>
        <module>mufc-pojo</module>
        <module>mufc-service</module>
        <module>mufc-mapper</module>
        <module>mufc-web</module>
    </modules>

这样,我们只需要install manager就可将其聚合的模块一起构建

三.为什么要继承?

分模块开发虽然起到了解耦的作用,但似乎给每个模块的权利太大,因为每个模块都有一个pom.xml,这就意味着每个模块都可以添加自己的依赖,这就可能造成相同的依赖每个模块都要添加一次,并且添加的版本可能不一致,这样势必造成项目的混乱,运行出问题,所以要有一个爸爸管理所有的jar包,其它人只能用爸爸的jar

    <parent>
        <artifactId>mufc-parent</artifactId>
        <groupId>red.mufc</groupId>
        <version>0.0.1-SNAPSHOT</version>
    </parent>

所以一个优秀完整的maven项目,多模块,聚合,继承是不可缺少的

四.搭建多模块maven项目

1.首先划分一下模块

    kaka-parent --管理所有的jar包(pom)
        |——kaka-common    通用组件(工具类)(war)
        |——kaka-manager   后台系统(pom)
            |——kaka-web        (war)
            |——kaka-service    (jar)
            |——kaka-mapper     (jar)
            |——kaka-pojo       (jar)
        

2.项目的搭建流程参考这里

https://blog.csdn.net/qq_3634...

3.说一下用到的骨架

(1)maven-archetype-webapp

    有WEB-INF目录,并且有web.xml和一个index.jsp
    

clipboard.png

(2)maven-archetype-quickstart

pom.xml外,没有其他的xml了,但是有main、test两个包,包里放了一个App、AppTest类

clipboard.png

搭建parent时不需要用骨架,因为它只需要pom.xml来管理依赖
搭建service,mapper,pojo时yongquickstart骨架就行
web需要jsp页面,web.xml 用webapp骨架

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值