了解maven的module

PPT 链接:ptteng.github.io/PPT/PPT-java/java_task02_maven.html#/ 

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

大家好,我是IT修真院北京分院第21期的学员韦琦,一枚正直纯洁善良的java程序员。

今天给大家分享一下,修真院官网Java任务2,深度思考中的知识点————

了解maven的module

1.背景介绍

我们在做任务的时候,Dao层,serverce层,Controller层都是放在一个项目里。用Maven管理的真实的项目都应该是分模块的,每个模块都对应着一个pom.xml。它们之间通过继承和聚合(也称作多模块,multi-module)相互关联。

2.知识剖析

1.这个应用可能需要有一个前台和一个后台管理端(web或者swing),你发现大部分dao,一些service,和大部分util是在两个应用中可。这样的问题,你一周内遇到了好几次。

2.pom.xml中的依赖列表越来越长以重用的,但是,由于目前只有一个项目(WAR),你不得不新建一个项目依赖这个WAR,这变得非常的恶心,因为在Maven中配置对WAR的依赖远不如依赖JAR那样简单明了,而且你根本不需要org.myorg.app.web。有人修改了dao,提交到svn并且不小心导致build失败了,你在编写service的代码,发现编译不过,只能等那人把dao修复了,你才能继续进行,很多人都在修改,到后来你根本就不清楚哪个依赖是谁需要的,渐渐的,很多不必要的依赖被引入。甚至出现了一个依赖有多个版本存在。

3.build整个项目的时间越来越长,尽管你只是一直在web层工作,但你不得不build整个项目。

某个模块,比如util,你只想让一些经验丰富的人来维护,可是,现在这种情况,每个开发者都能修改,这导致关键模块的代码质量不能达到你的要求。

我们会发现,其实这里实际上没有遵守一个设计模式原则:“高内聚,低耦合”。虽然我们通过包名划分了层次,并且你还会说,这些包的依赖都是单向的,没有包的环依赖。这很好,但还不够,因为就构建层次来说,所有东西都被耦合在一起了。因此我们需要使用Maven划分模块。

3.常见问题

core包更改,其它依赖模块能否更新?

分模块之后不会出现之前的修改依赖包build整个项目,只需要update一下?

---------------------------------------------------------------------------------------------------------------------------------------

技能树.IT修真院“我们相信人人都可以成为一个工程师,现在开始,找个师兄,带你入门,掌控自己学习的节奏,学习的路上不再迷茫”。这里是技能树.IT修真院,成千上万的师兄在这里找到了自己的学习路线,学习透明化,成长可见化,师兄1对1免费指导。快来与我一起学习吧~我的邀请码:10178606,或者你可以直接点击此链接:jnshu.com/login/1/10178606

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

推荐阅读更多精彩内容

  • 为什么要使用maven模块? 视频链接:https://v.qq.com/x/page/k0539b44w0s.h...
    CodeBuilder阅读 1,128评论 0 0
  • 亿家幼儿园老师给家长布置了一项作业,写一篇《夸夸我的小宝贝》作为新年礼物送给孩子,并放入成长手册中。 看到这个题目...
    张娟硕硕阅读 4,067评论 1 1
  • 何无有阅读 155评论 0 0