了解maven的module

为什么要使用maven模块?

视频链接:https://v.qq.com/x/page/k0539b44w0s.html

ppt链接:https://ptteng.github.io/PPT/PPT-java/Java_task02_MavenModule.html

随着技术的飞速发展和各类用户对软件的要求越来越高,软件本身也变得越来越复杂,然后软件设计人员开始采用各种方式进行开发,于是就有了我们的分层架构、分模块开发,来提高代码的清晰和重用。针对于这一特性,maven也给予了相应的配置。

我们在开发过程中,创建了2个以上的模块,每个模块都是一个独立的maven project,在开始的时候我们可以独立的编译和测试运行每个模块,但是随着项目的不断变大和复杂化,我们期望能够使用简单的操作来完成编译等工作,这时Maven给出了聚合的配置方式。

所谓聚合,顾名思义,就是把多个模块或项目聚合到一起,我们可以建立一个专门负责聚合工作的Maven project 。

需要注意的几点:

1.父项目打包方式必须为pom

2.聚合模块的版本和被聚合模块版本一致

3.每个模块relative path的值都是一个当前POM的相对目录

4.聚合模块的内容仅仅是一个pom.xml文件,它不包含src/main/Java、src/test/java等目录,因为它只是用来帮助其它模块构建的工具,本身并没有实质的内容。

5.聚合模块和子模块的目录可以是父子结构,也可以是平行结构,当然如果使用平行结构,那么聚合模块的POM也需要做出相应的更改。

那么,如何通过父项目统一管理依赖?

1.这时可使用dependency management在父项目中管理依赖,解决不同模块间的依赖重复问题。在父项目中声明dependency management不会引入直接下载jar包,在子项目pom中声明才会引入。

2.相对于dependencyManagement,所有声明在dependencies里的依赖都会自动引入,并默认被所有的子项目全部继承。

建议使用dependency management进行管理。由于是全部继承,直接使用dependencies会在模块中引入其他模块的依赖。而且更便于管理。

6.参考文献

http://blog.csdn.net/wanghantong/article/details/36427411

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,269评论 19 139
  • PPT 链接:ptteng.github.io/PPT/PPT-java/java_task02_maven.ht...
    大可2017阅读 631评论 0 0
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 47,005评论 6 342
  • 前言什么是 POMQuick Overview POM 常用元素 pom.xml 完整注释 参考 0 前言 什么是...
    阿父阅读 12,695评论 1 36
  • 青春 在我眼前 一溜烟地小跑着消失了 刮起一阵风 吹乱了我的头发 迷离了我的双眼 吹醒了我的脑袋 睁开眼 伸手去挽...
    来自深渊的光阅读 282评论 0 0