1. Maven聚合的概念

聚合概念是由来已久,比如我们需要2个项目协调合作才能完成一个大的、完整的业务场景,这个时候就需要构建2个项目,但是呢,想一次性就构建这2个项目,而不是分别构建2个项目后再合在一起整。这样我们就需要一个比较特殊的项目了,就是所谓的聚合项目,这个项目没有别的目的,就是仅仅为了聚合多个项目模块用的。

2. 新的项目模块

在介绍聚合项目前,先利用IDE建立一个新的项目模块——MavenAccount-persist,负责注册系统的持久层业务,按照Maven的项目规范,我们建立项目如下。

实体POJO如下

    package pojo;  

    /**      * 注册用户实体      * @author liuyan      */      public class Account {  

        private String id;          private String name;          private String password;          private String email;  

    //省去setter和getter  

    }  

业务接口

    package dao;      import pojo.Account;  

    /**      * 业务接口      * @author liuyan      */      public interface AccountDAO {  

        public boolean save(Account account);  

        public boolean update(Account account);  

        public Account query();  

        public boolean delete(String id);  

    }  

接口实现类

    package dao.impl;  

    import pojo.Account;      import dao.AccountDAO;  

    /**      * 业务实现类      * @author liuyan      */      public class AccountDAOImpl implements AccountDAO {  

        @Override          public boolean delete(String id) {              System.out.println("删除记录");              return true;          }  

        @Override          public Account query() {              System.out.println("查找记录");              return null;          }  

        @Override          public boolean save(Account account) {              System.out.println("保存记录");              return true;          }  

        @Override          public boolean update(Account account) {              System.out.println("更新记录");              return true;          }  

    }  

之前咱们说过,Java具体技术不是我们这个学习笔记系列的重点,所以我只是输出一些简单信息,并没有和任何的持久层框架结合起来。咱们权且当做完成了这个注册系统的持久层模块吧。

Spring配置文件

    <?xml version="1.0" encoding="UTF-8"?>      <beans xmlns="http://www.springframework.org/schema/beans"          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"          xsi:schemaLocation="http://www.springframework.org/schema/beans           http://www.springframework.org/schema/beans/spring-beans-2.5.xsd           http://www.springframework.org/schema/aop           http://www.springframework.org/schema/aop/spring-aop-2.5.xsd"          xmlns:aop="http://www.springframework.org/schema/aop" xmlns:p="http://www.springframework.org/schema/p">  

        <bean id="accountDAO" class="dao.impl.AccountDAOImpl">          </bean>  

    </beans>  
mvn clean install  

之后两个模块就一起构建了。

    [INFO] ------------------------------------------------------------------------      [INFO] Building MavenAccount-aggregator 0.0.1-SNAPSHOT      [INFO] ------------------------------------------------------------------------      [INFO]      [INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ MavenAccount-aggrega      tor ---      [INFO]      [INFO] --- maven-install-plugin:2.3.1:install (default-install) @ MavenAccount-a      ggregator ---      [INFO] Installing E:\Genuitec\ws\MavenAccount-aggregator\pom.xml to C:\Users\liu      yan\.m2\repository\com\liuyan\account\MavenAccount-aggregator\0.0.1-SNAPSHOT\Mav      enAccount-aggregator-0.0.1-SNAPSHOT.pom      [INFO] ------------------------------------------------------------------------      [INFO] Reactor Summary:      [INFO]      [INFO] MavenAccount-email ................................ SUCCESS [6.553s]      [INFO] MavenAccount-persist .............................. SUCCESS [1.498s]      [INFO] MavenAccount-aggregator ........................... SUCCESS [0.062s]      [INFO] ------------------------------------------------------------------------      [INFO] BUILD SUCCESS      [INFO] ------------------------------------------------------------------------      [INFO] Total time: 8.300s      [INFO] Finished at: Sun Jun 05 12:51:01 CST 2011      [INFO] Final Memory: 13M/31M      [INFO] ------------------------------------------------------------------------  

4. 总结

我们这里仅仅介绍了集合模块一起构建的方式,当然如果模块少,一个一个分别build成功后再集成也无可厚非,看项目具体情况而定。这次我们留了一个问题,就是这两个项目模块使用的依赖包版本不一致怎么办,因为pom.xml是分别声明的依赖,这个问题我们留在了Maven继承机制解决。

《Maven 实战》读书笔记(六) 聚合相关推荐

  1. [原创]Maven实战-读书笔记

    Maven读书笔记  Maven读书笔记 依赖 快捷键:Alt+Shift+X M 使用ArcheType来创建Maven项目骨架: Maven中坐标的定义 依赖范围 依赖传递 依赖调解 可选依赖 ...

  2. Maven实战读书笔记(六):Maven灵活构建

    Maven为了支持构建的灵活性,内置了3大特性,即:属性.Profile和资源过滤. 6.1 Maven属性 Maven的属性与Java代码的常量有异曲同工之妙,都是为了消除重复,对相关内容进行统一管 ...

  3. Maven实战读书笔记(3)

    2019独角兽企业重金招聘Python工程师标准>>> POM是什么? 1.像Make的Makefile.Ant的build.xml一样,Maven项目的核心是pom.xml 2.P ...

  4. Maven实战读书笔记1

    Maven第一章 何为Maven 何为构建 何为Maven Maven翻译为:知识的累积,专家,内行.是Apache组织中成功的一个开源项目.主要服务于基于Java平台的项目构建.依赖管理和项目信息管 ...

  5. maven实战--读书笔记之第一章和第二章

    第一章:Maven简介 1.本书为国内社区公认的专家徐晓斌所写,本书基于maven3.0所编写,maven是非常优秀的建模工具,maven最大化的消除了构建的重复,抽象了构建生命,他还有一个优点,帮助 ...

  6. Go语言实战读书笔记

    2019独角兽企业重金招聘Python工程师标准>>> Go语言实战读书笔记 第二章 通道(channel).映射(map)和切片(slice)是引用类型.引用类型的对象需要使用ma ...

  7. Spring4实战读书笔记

    Spring4实战读书笔记 首先,我们需要明白,为什么我们需要引入Spring,也就是说Spring的好处.个人觉得主要是在于两方面解耦和对bean的管理. 第一部分:Spring核心 共分为四个章节 ...

  8. iPhone与iPad开发实战读书笔记

    iPhone开发一些读书笔记 手机应用分类 1.教育工具 2.生活工具 3.社交应用 4.定位工具 5.游戏 6.报纸和杂志的阅读器 7.移动办公应用 8.财经工具 9.手机购物应用 10.风景区相关 ...

  9. 3d游戏设计读书笔记六

    3d游戏设计读书笔记六 一.改进飞碟(Hit UFO)游戏: 游戏内容要求: 按 adapter模式 设计图修改飞碟游戏 使它同时支持物理运动与运动学(变换)运动 更改原 UFO_action 类 为 ...

  10. 机器学习实战---读书笔记: 第11章 使用Apriori算法进行关联分析---2---从频繁项集中挖掘关联规则

    #!/usr/bin/env python # encoding: utf-8''' <<机器学习实战>> 读书笔记 第11章 使用Apriori算法进行关联分析---从频繁项 ...

最新文章

  1. hdu 3007【爬山算法】
  2. python mk趋势检验_【C语言】MK趋势检验C语言代码
  3. Qtum量子链受邀出席日本早稻田研究所区块链教育讲座
  4. mysql多主单向环形_mysql多主单向--gt;环形同步_MySQL
  5. 免费公开课 | 强化学习及其在竞速无人机中的应用
  6. Exchange 2010部署
  7. Uber柳甄:Uber中国独立核算 谋求国内A股上市
  8. 【转载】Python中numpy 数组的切片操作
  9. 阿里云解决方案架构师,讲述分布式架构云平台解决方案(附图文)
  10. 计算机工程 目录 2014年第1期 pdf,2013科技核心期刊目录有效期至2014年).pdf
  11. python3.7中文手册chm_python3.7 官方中文手册文档全套
  12. 智鼎逻辑推理题及答案_2020常见校招笔试题型解析
  13. python数据分析房价预测_Kaggle入门级赛题:房价预测——数据分析篇
  14. MacBook使用U盘重装系统
  15. Nvidia TX2 串口使用
  16. bim综合建模插件 进行碰撞检查只需六步!
  17. 西门子200SMART(六)数据块
  18. php对接腾讯云直播,聊天,im,云录制产生回放
  19. java 中完成 乘方 , 开方 可借助于java.lang.Math类的工具
  20. tess4j验证码识别

热门文章

  1. Android平台框架学习
  2. JPG图片中的文字或表格怎么转成Word文档?
  3. CSS常用伪类选择器详解
  4. 大学生熬夜4年前后对比图:你还敢熬夜吗?
  5. 本地连接oraclel --localhost可以连接ip连接不了解决办法
  6. 漫长的告别读后感 - 说一声再见,就是死去一点点
  7. PL3368C-ASEMI低功耗电源IC选PL3368C
  8. VC++编写远程控制软件
  9. Java之Redis分片机制
  10. 【爬虫】小说筛选爬取模板