前言

自从我知道写maven实战这本书的作者长得随心所欲后,我再拿起这本书真心的不想看前言了。下面分享一下maven中的所谓的聚合和继承。

内容

下文中的子本指的是:多个maven项目。

父本指的是:maven的父项目。

聚合

Maven的另一个更加值得瞻仰的地方,就是多个maven项目之间可以建立某种联系。比如:多个maven项目,我们都想发布成war。这个时候,我们可以一个项目一个项目的发布,只到这几个项目完全发布。Maven提供了一种聚合机制,建立一个父本,然后在父本pom.xml配置多个项目,然后直接发布父本的pom.xml即可。下面举例说明:

  • 子本:

  • 父本:

<!-- 聚合 -->
<modules>
<!-- <module>../user-core</module>-->
<module>../user-dao</module>
<module>../user-log</module>
<module>../user-service</module>
</modules>

效果就是每个maven项目都发布了war

继承

多个maven项目,可能引用好多相同的依赖jar包,那样的话,每个maven项目的相同依赖,都要不同程度的在中央仓库下载。本着抽象的理念,遇到相同的是不是考虑一下抽象,于是maven出了一个继承。也就是在父本中出现的jar依赖,子本中如果继承该父本,则可以享用这个jar包。这样是不是方便了很多,下面是pom.xml配置。

  • 子本:

  <parent>
<groupId>org.konghao.user</groupId>
<artifactId>user-parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
<relativePath>../user-parent/pom.xml</relativePath>
</parent> <artifactId>user-log</artifactId>
<name>user-log</name> <dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
</dependencies>

  • 父本:

  <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<junit.version>4.10</junit.version>
</properties> <dependencyManagement>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
</dependencyManagement>

小结

还是个菜的不能再菜的鸟,希望路过的大神,给予指导啊!

感谢您的宝贵时间···

最新文章

  1. Bzoj1305 [CQOI2009]dance跳舞
  2. QQ空间爬虫最新分享,一天 400 万条数据(附代码地址)
  3. 【FPGA】相关介绍
  4. GDB调试多线程
  5. 有关eclipse连接SQL Server 2008的问题
  6. 06-图2 Saving James Bond - Easy Version
  7. 关于GSMMAP分支cell_log扫描不正常问题的解决办法
  8. Sql Server 常用自定义函数
  9. linux命令之vim使用-(转)vim的保存文件和退出命令
  10. Win10系统安装
  11. CUDA_矢量相加
  12. HDU 1280 前m大的数
  13. scrollview中停止滚动的监听
  14. COGS 2482. Franky的胡子【二分,高精度】
  15. Web应用基础
  16. WebSphere--部署Servlet
  17. PAT1008:Elevator
  18. centos7网络配置方法
  19. hasOne、hasMany、belongsTo
  20. HTTPS笔记:使用 SSLEngine 为 aioserver 服务器提供 SSL 访问支持

热门文章

  1. 清除html中的标记,只留下文字
  2. 天云CloudStack 改进版
  3. 基于HTML5的RDP访问实战
  4. ubuntu配置ftp
  5. win7 + eclipse + cocos2dx 开发环境配置
  6. 洛谷 P3112 [USACO14DEC]后卫马克Guard Mark
  7. mysql中查看表结构的sql语句
  8. Kubernetes (1.6) 中的存储类及其动态供给
  9. SpringMVC的问题No mapping found for HTTP request with URI
  10. oracle中的表空间(tablespace)、方案(schema)、段(segment)、区(extent)、块(block)