maven中如何使用聚合模块
发表于:2025-12-04 作者:千家信息网编辑
千家信息网最后更新 2025年12月04日,maven中如何使用聚合模块,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1.什么是maven的聚合模块?聚合模块为项目
千家信息网最后更新 2025年12月04日maven中如何使用聚合模块
maven中如何使用聚合模块,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
1.什么是maven的聚合模块?
聚合模块为项目目录的最顶层,其他模块作为聚合模块子目录而存在。目的是为一次构建多个项目模块。
1.1 项目结构

我自己化了一个关于项目的关系:

1.2 pom标签配置-module
maven-aggregate作为maven pom项目,需要定义pom.xml的 packaging 为 pom类型
我们还是参照 maven的依赖特性,冲突解决(五) 创建 maven-01 maven-02 maven-03工程,通过maven-aggregate pom工程 对这三个maven项目做一个聚合,配置如下:
Xml代码
1.3. 4.0.0 5.com.sohu.train 6.maven-aggregate 7.0.0.1-SNAPSHOT 8.pom 10. 11.12. 17.../maven-01 13.../maven-02 14...maven-03 15.
对 maven-aggregate执行下mvn clean compile
Xml代码
1. \[INFO\] Scanning for projects... 2. \[WARNING\] 3. \[WARNING\] Some problems were encountered while building the effective model for com.sohu.train:maven-02:jar:1.0-SNAPSHORT 4. \[WARNING\] 'dependencies.dependency.exclusions.exclusion.groupId' for junit:junit:jar is missing. @ line 38, column 16 5. \[WARNING\] 'dependencies.dependency.exclusions.exclusion.artifactId' for junit:junit:jar is missing. @ line 38, column 16 6. \[WARNING\] 7. \[WARNING\] It is highly recommended to fix these problems because they threaten the stability of your build. 8. \[WARNING\] 9. \[WARNING\] For this reason, future Maven versions might no longer support building such malformed projects. 10. \[WARNING\] 11. \[INFO\] ------------------------------------------------------------------------ 12. \[INFO\] Reactor Build Order: //构建 maven 的反应堆,执行清理 编译的顺序 13. \[INFO\] 14. \[INFO\] maven-02 15. \[INFO\] maven-01 16. \[INFO\] maven-03 17. \[INFO\] maven-aggregate 18. \[INFO\] 19. \[INFO\] ------------------------------------------------------------------------ 20. \[INFO\] Building maven-02 1.0-SNAPSHORT 21. \[INFO\] ------------------------------------------------------------------------ 22. \[INFO\] 23. \[INFO\] --- maven-clean-plugin:2.5:clean (default-clean) @ maven-02 --- 24. \[INFO\] Deleting E:\\train\\test\\maven-02\\target 25. \[INFO\] 26. \[INFO\] --- maven-resources-plugin:2.6:resources (default-resources) @ maven-02 --- 27. \[INFO\] Using 'UTF-8' encoding to copy filtered resources. 28. \[INFO\] skip non existing resourceDirectory E:\\train\\test\\maven-02\\src\\main\\resources 29. \[INFO\] 30. \[INFO\] --- maven-compiler-plugin:3.1:compile (default-compile) @ maven-02 --- 31. \[INFO\] Changes detected - recompiling the module! 32. \[INFO\] Compiling 1 source file to E:\\train\\test\\maven-02\\target\\classes 33. \[INFO\] 34. \[INFO\] ------------------------------------------------------------------------ 35. \[INFO\] Building maven-01 1.0-SNAPSHOT 36. \[INFO\] ------------------------------------------------------------------------ 37. \[INFO\] 38. \[INFO\] --- maven-clean-plugin:2.5:clean (default-clean) @ maven-01 --- 39. \[INFO\] Deleting E:\\train\\test\\maven-01\\target 40. \[INFO\] 41. \[INFO\] --- maven-resources-plugin:2.6:resources (default-resources) @ maven-01 --- 42. \[INFO\] Using 'UTF-8' encoding to copy filtered resources. 43. \[INFO\] Copying 1 resource 44. \[INFO\] 45. \[INFO\] --- maven-compiler-plugin:3.1:compile (default-compile) @ maven-01 --- 46. \[INFO\] Changes detected - recompiling the module! 47. \[INFO\] Compiling 1 source file to E:\\train\\test\\maven-01\\target\\classes 48. \[INFO\] 49. \[INFO\] ------------------------------------------------------------------------ 50. \[INFO\] Building maven-03 0.0.1-SNAPSHOT 51. \[INFO\] ------------------------------------------------------------------------ 52. \[INFO\] 53. \[INFO\] --- maven-clean-plugin:2.5:clean (default-clean) @ maven-03 --- 54. \[INFO\] Deleting E:\\train\\test\\maven-03\\target 55. \[INFO\] 56. \[INFO\] --- maven-resources-plugin:2.6:resources (default-resources) @ maven-03 --- 57. \[INFO\] Using 'UTF-8' encoding to copy filtered resources. 58. \[INFO\] skip non existing resourceDirectory E:\\train\\test\\maven-03\\src\\main\\resources 59. \[INFO\] 60. \[INFO\] --- maven-compiler-plugin:3.1:compile (default-compile) @ maven-03 --- 61. \[INFO\] Changes detected - recompiling the module! 62. \[INFO\] Compiling 1 source file to E:\\train\\test\\maven-03\\target\\classes 63. \[INFO\] 64. \[INFO\] ------------------------------------------------------------------------ 65. \[INFO\] Building maven-aggregate 0.0.1-SNAPSHOT 66. \[INFO\] ------------------------------------------------------------------------ 67. \[INFO\] 68. \[INFO\] --- maven-clean-plugin:2.5:clean (default-clean) @ maven-aggregate --- 69. \[INFO\] ------------------------------------------------------------------------ 70. \[INFO\] Reactor Summary: // 可以看到 对3个maven项目 一起执行编译 71. \[INFO\] 72. \[INFO\] maven-02 ........................................... SUCCESS \[ 1.874 s\] 73. \[INFO\] maven-01 ........................................... SUCCESS \[ 0.108 s\] 74. \[INFO\] maven-03 ........................................... SUCCESS \[ 0.158 s\] 75. \[INFO\] maven-aggregate .................................... SUCCESS \[ 0.002 s\] 76. \[INFO\] ------------------------------------------------------------------------ 77. \[INFO\] BUILD SUCCESS 78. \[INFO\] ------------------------------------------------------------------------ 79. \[INFO\] Total time: 2.263 s 80. \[INFO\] Finished at: 2016-01-15T14:35:41+08:00 81. \[INFO\] Final Memory: 14M/227M 82. \[INFO\] ------------------------------------------------------------------------
这样我们就完成 maven对子模块的聚合 ,像我们平常用的dubbo jetty tomcat spring hibernate等等 都是按模块 去开发,一次编译 各个模块都能紧密联系在一起了。我们在平常开发项目也需要适当的去分模块开发,
这是dubbo的子模块,分了很多子模块:
2.什么是pom继承?
pom继承是为了抽出重复配置,通常配置在父模块中,为子模块提供使用,这样可以做到"一处声明,处处使用"。
2.1 继承结构
2.2 pom标签配置-parent,*Management
1.常用的pom被继承的元素
Xml代码
1. groupId :项目组 ID ,项目坐标的核心元素; 2. version :项目版本,项目坐标的核心元素; 3. description :项目的描述信息; 4. properties :自定义的 Maven 属性; 5. dependencies :项目的依赖配置; 6. dependencyManagement :醒目的依赖管理配置; 7. repositories :项目的仓库配置; 8. build :包括项目的源码目录配置、输出目录配置、插件配置、插件管理配置等;
1.配置maven-aggregate pom文件:
Xml代码
1.3. 4.0.0 5.com.sohu.train 6.maven-aggregate 7.0.0.1-SNAPSHOT 8.pom 10. 11.12. 16. 17.../maven-01 13.../maven-02 14.../maven-03 15.18. 21. 22.3.8.1 19.23. 32.24. 31.25. 30.junit 26.junit 27.${junit.version} 28.test 29.
maven-01,maven-02,maven-03 需要配置parent ,dependencies,同时对junit做一个依赖,3个工程的pom配置如下:
Xml代码
1.3. 4.0.0 4. 5.6. 11.com.sohu.train 7.maven-aggregate 8.0.0.1-SNAPSHOT 9.../maven-aggregate/pom.xml 10.maven-03 12.jar 13. 14.15. 20.16. 19.junit 17.junit 18.
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。
项目
配置
模块
代码
元素
工程
目录
开发
编译
坐标
常用
插件
标签
核心
结构
帮助
管理
平常
清楚
适当
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
苏州的做软件开发的公司
邮箱的发件服务器
但是数据库没有
网络安全试验室成立
互联网时代下网络安全
服务器pc是怎么制造出来的
禁止单元格重复数据库
金碟软件开发费用
大学数据库题库
计算机技术与网络技术迅速发展
咸阳网络安全比赛
如何设置数据库保存默认位置
选择服务器输入6位安全码
有哪些古籍数据库
税务网络安全 专家谈
打印机服务器属性安全改不了
数据库cdm图
网络安全法建立以什么为基础
搜盟软件开发有限公司
数据库设计视频教程
软件著作权软件开发硬件环境
中国网络时间同步服务器有哪些
陕西远程服务器租赁报价
软件开发合同的种类
淮北有软件开发公司吗
网络安全设备的维护保养
深圳微信软件开发服务费
互联网 的科技小论文
壹零新蜂网络技术有限公司
国三网络技术未来教育