Maven分模块构建项目

分模块构建项目

将项目拆分为多个模块开发:

父模块(工程)

dao

service

web

理解继承和聚合
继承
    开发中多个项目有共同的jar包依赖,可以采用继承方式简化各个项目的pom文件,在父类的pom文件中依赖共同拥有的jar。继承是为了消除重复,如果将dao、service、web分开创建独立的工程则每个工程的pom.xml文件中的内容存在重复,比如:设置编译版本、锁定mysql的版本的等,可以将这些重复的配置提取出来在父工程的pom.xml中定义。 
   注意:
       1.父级项目只能是pom打包方式。
       2.子项目是一个Maven Module
聚合
   项目开发通常是分组分模块开发,每个模块开发完成要运行整个工程需要将每个模块聚合在一起运行,比如:dao、service、web三个工程最终会打一个独立的war运行。
   能够把项目的各个模块聚合在一起构建。一般用于分模块开发,最后整体打包发布。
   
   注意:
       1.根项目(模块)是一个pom项目。
       2.子模块:Maven Module
       3.每个模块写完后需要上传到私服
       4.打包,需要整体打包找到最后的war项目使用Tomcat加载
       
        实际中,我们会将一些庞大的项目拆分为若干模块进行开发
        三层+MVC 如下:
        dao (包含实体类、utils)----------jar
        service------jar
        web----------war
案例演示继承和聚合

​ 第一步:创建父工程,修改pom.xml文件

​ 第二步:创建dao,并继承父工程

​ 第三步:创建service,并继承父工程

​ 第四步:创建web,并继承父工程

​ 第五步:运行

注意:分模块开发项目编译、打包、安装需要使用使用父工程来整体操作。如果要操作单个子模块,最后先整体安装一次,因为单个子模块需要依赖信息。
方法1:在maven-web工程的pom.xml中配置tomcat插件运行
运行maven-web工程它会从本地仓库下载依赖的jar包,所以当maven-web依赖的jar包内容修改了必须及时发布到本地仓库,比如:maven-web依赖的maven-service修改了,需要及时将maven-service发布到本地仓库。
方法2:在父工程的pom.xml中配置tomcat插件运行,自动聚合并执行 
推荐方法2,如果子工程都在本地,采用方法2则不需要子工程修改就立即发布到本地仓库,父工程会自动聚合并使用最新代码执行。

注意:如果子工程和父工程中都配置了tomcat插件,运行的端口和路径以子工程为准。

聚合与继承的关系
  • 聚合是为了方便快速构件项目。对于聚合模块来说,它知道有哪些被聚合的模块,但那些模块不知道这个聚合模块的存在;
  • 继承是为了消除重复配置。对于继承关系的父POM来说,它不知道有哪些子模块继承于它,但是子模块必须知道自己的父POM是什么。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值