maven中如何使用聚合模块
发表于:2024-11-17 作者:千家信息网编辑
千家信息网最后更新 2024年11月17日,maven中如何使用聚合模块,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1.什么是maven的聚合模块?聚合模块为项目
千家信息网最后更新 2024年11月17日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安全错误
数据库的锁怎样保障安全
美图秀秀软件开发公司名称
网络安全行为规范能力
不同数据库的导入导出
阿里云博士后网络安全
公建网络安全共享网络文明
南京宣传网络技术有限公司
视频监控网络安全管控
2008服务器配置远程管理
易讯网络技术有限公司
武警有网络安全专业吗
招商银行软件开发
华为网络技术工程师工作模式
数据库应用性和适用性怎么理解
网络安全周末班
网络安全宣传周工作安排
海盐人文数据库
虹口区创新数据库服务报价行情
连接数据库显示网络通信异常
网络安全与ssl
郑州是布朗玛网络技术
sqllite选择数据库
app 数据库路径
宝山区专业性网络技术备案
网络安全法竞赛在哪答题
数据库安全策略包括哪几种
达梦数据库程序员手册
本地连接 腾讯云的数据库
网络安全知识进课堂ppt
pandas与数据库
中小型企业网络安全配置论文