- 浏览: 250577 次
- 性别:
文章分类
最新评论
1. Maven聚合的概念
聚合概念是由来已久,比如我们需要2个项目协调合作才能完成一个大的、完整的业务场景,这个时候就需要构建2个项目,但是呢,想一次性就构建这2个项目,而不是分别构建2个项目后再合在一起整。这样我们就需要一个比较特殊的项目了,就是所谓的聚合项目,这个项目没有别的目的,就是仅仅为了聚合多个项目模块用的。
2. 新的项目模块
在介绍聚合项目前,先利用IDE建立一个新的项目模块——MavenAccount-persist,负责注册系统的持久层业务,按照Maven的项目规范,我们建立项目如下。
实体POJO如下
业务接口
接口实现类
之前咱们说过,Java具体技术不是我们这个学习笔记系列的重点,所以我只是输出一些简单信息,并没有和任何的持久层框架结合起来。咱们权且当做完成了这个注册系统的持久层模块吧。
Spring配置文件
之后两个模块就一起构建了。
4. 总结
我们这里仅仅介绍了集合模块一起构建的方式,当然如果模块少,一个一个分别build成功后再集成也无可厚非,看项目具体情况而定。这次我们留了一个问题,就是这两个项目模块使用的依赖包版本不一致怎么办,因为pom.xml是分别声明的依赖,这个问题我们留在了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
2012-12-17 19:03 1212maven常见问题问答 http://www.iteye.co ... -
maven文章汇总
2012-01-22 14:14 840http://blog.csdn.net/symgdwyh/a ... -
《Maven 实战》读书笔记(八) 反应堆
2012-01-07 14:46 10251. 反应堆 反应堆这个名字听上去挺专业,其实就是多个模块 ... -
《Maven 实战》读书笔记(七) 聚合
2012-01-07 14:43 9971. 继承 之前我们学习Maven的聚合机制遗留个问题,就 ... -
《Maven 实战》读书笔记(五) Maven的生命周期 和插件
2012-01-07 14:10 15611. Maven的生命周期 Maven的生命周期其实是指它 ... -
《Maven 实战》读书笔记(五)
2012-01-07 14:00 01. 仓库的概念 大家可能注意到了,在基于Maven管理的 ... -
ddssss
2012-01-03 19:08 6<plugin> <groupId& ... -
《Maven 实战》读书笔记(四) 仓库
2012-01-03 19:07 13360.1. 仓库的概念 大家可能注意到了,在基于Maven管 ... -
《Maven 实战》读书笔记(三) 坐标和依赖
2012-01-03 19:06 1062第五章:坐标和依赖 1.JAVA构件,MAVEN就必须将它们 ... -
《Maven实战》读书笔记(二) Maven使用入门
2012-01-03 19:04 1065第三章:Maven使用入门 ... -
《Maven实战》读书笔记(一) Maven简介
2012-01-03 18:57 1156第一章:Maven简介 1.Mave ...
相关推荐
从给定的文件信息来看,标题与描述都指向了“Maven3实战笔记(整合)”,这表明文档主要聚焦于Maven3的实践应用与整合经验分享。Maven是Apache软件基金会维护的一个开源项目,是一个项目管理和综合工具,主要用于Java...
通过阅读《Maven3实战笔记(全)》,开发者不仅可以掌握Maven的基本操作,还能了解到如何高效地利用Maven解决实际项目中的问题,提升开发效率。书中生动的实例和幽默的讲解方式,使得学习过程更为轻松愉快。对于任何...
根据给定的文件信息,我们可以提取出关于"Maven3实战笔记整合"的知识点。由于文件内容部分出现了大量的乱码和不完整字符序列,无法直接从中提取有用的信息。但是,我们可以根据标题和描述以及通用的Maven知识点,来...
【尚硅谷Maven课程笔记代码资源】是一份全面学习Maven的资料集合,它涵盖了从基础到高级的各种知识点,旨在帮助开发者深入理解并熟练运用Maven进行自动化构建。该资源包含课件、源码和相关的笔记,使得学习过程更加...
读书笔记:maven实战上的项目主要介绍了mvn的聚合邮件发送Spring bean容器读取
7. **多模块项目**:在多模块 Maven 项目中,通过执行 `mvn site:site site:deploy` 在聚合模块上,可以生成整个项目的综合站点。 总的来说,Maven 的项目站点功能提供了一种统一的方式来管理和展示项目信息,帮助...
课程目录: Maven3_01_maven概览 Maven3_02_maven安装的注意事项 Maven3_03_在eclipse中建立简单的项目 Maven3_04_maven的依赖特性 Maven3_05_maven的聚合和继承 Maven3_06_复习maven的基本...Maven3实战笔记 Maven配置
**Maven实战笔记** 在Java开发领域,Maven是一个不可或缺的构建工具,它极大地简化了项目的构建、管理和依赖管理过程。Maven通过一个统一的项目对象模型(Project Object Model,POM),使得开发者可以轻松地定义...
《Maven实战》是一本实践导向的书籍,涵盖了Maven在实际项目中的应用,包括设置环境变量、配置构建服务器、集成持续集成工具如Jenkins,以及使用Maven进行部署。此外,它还介绍了一些高级话题,如使用Maven进行敏捷...
- Maven学习笔记:介绍了Maven的实战应用,包括环境配置、坐标和依赖、仓库管理、生命周期和插件、聚合、继承、反应堆、Nexus使用、测试、Hudson集成、Profile定制、项目站点生成和插件编写等主题。 - 学习Maven的...
Java秒杀系统方案优化高性能高并发学习实战源代码以及笔记..zip 章节笔记 第1章-课程介绍及项目框架搭建 知识点 使用spring boot 搭建项目基础框架 使用Thymeleaf做页面展示,封装Result统一结果 集成 mybatis + ...
spring cloud分布式电商实战代码,并且对以下内容进行了详细笔记记录:maven聚合工程创建,消息总线,分库分表,全局异常处理,分布式session管理,ZK分布式锁,分布式ID生成,SKU概念和表设计,全文检索,缓存
本课程从IDEA开发工具的安装及配置使用讲起,详细讲解Maven项目管理工具,适合初学者的教程,让你少走弯路!...使用Nexus搭建私服6.Maven综合实战应用教学全程采用笔记+代码案例的形式讲解,通俗易懂!!!
了解了基础概念后,可以尝试实现一些实战案例,如实时日志分析、流式数据聚合、实时推荐系统等,以加深对Flink的理解和应用。 以上内容涵盖了Flink Java API的基本使用和核心概念。在实际工作中,还需要结合具体...
2020年04月12日更新:承蒙各位的厚爱,得到了130+的star,我倍感惊喜~不过这个项目我是存在很大的遗憾的,一直想重构下代码并且留下完整的笔记,也让一些联系我的朋友有点难以下手。但是我又担心没有此能力,会对...