ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

关于mvn多模块的理解

2022-07-12 01:01:24  阅读:164  来源: 互联网

标签:Maven 项目 app util 理解 模块 mvn


疑惑

疑惑1

曾经在公司看到mvn多模块项目感觉云里雾里,下载一个项目后再下载其他几个项目,然后运行mvn install,然后再运行web项目,其中需要mvn install的项目还会依赖其他很多外部无法访问的项目。

疑惑2

看一些教程学习发现也是用到了多模块,并且一个项目会分为几十个模块都有可能,并且说划分原因也不明白。

疑惑3

为什么一个mvn项目还要拆分为多个mvn项目,并且父项目几乎不写任何代码,并且打包的时候也是不明不白?该如何打包?如何部署呢?

解惑

参考连接

  1. 狂神说sprin cloud
  2. Maven最佳实践:划分模块

引用

方便重用,如果你有一个新的swing项目需要用到app-dao和app-service,添加对它们的依赖即可,你不再需要去依赖一个WAR。而有些模块,如app-util,完全可以渐渐进化成公司的一份基础工具类库,供所有项目使用。这是模块化最重要的一个目的。
由于你现在划分了模块,每个模块的配置都在各自的pom.xml里,不用再到一个混乱的纷繁复杂的总的POM中寻找自己的配置。
如果你只是在app-dao上工作,你不再需要build整个项目,只要在app-dao目录运行mvn命令进行build即可,这样可以节省时间,尤其是当项目越来越复杂,build越来越耗时后。
某些模块,如app-util被所有人依赖,但你不想给所有人修改,现在你完全可以从这个项目结构出来,做成另外一个项目,svn只给特定的人访问,但仍提供jar给别人使用。
多模块的Maven项目结构支持一些Maven的更有趣的特性(如DepencencyManagement),这留作以后讨论。
--------------- Maven最佳实践:划分模块

今天看狂神的课加上搜索到这篇优秀的文章才明白为什么,其实就像mvc这种设计模式一样,但是类似于mvc的升级版。

如果一个项目越来越大,那么打包的时间就会越来越就,依赖的库也会越来越多甚至因为版本升级导致存在多个不同的依赖库。

如果项目通过mvn多模块开发,则可以调试编写指定的代码只需要运行本模块的代码即可,无需启动整个项目。

如果需要创建新项目,但是有很多代码在老项目的util中,则可以直接引入这个util库直接来使用。

个人理解:就像微服务开发那样项目拆分为订单、用户等服务一样可以分别去开发;多模块也是可以划分到不同小组内去让不同的人去开发,实现 “高内聚,低耦合”。

标签:Maven,项目,app,util,理解,模块,mvn
来源: https://www.cnblogs.com/xiaqiuchu/p/16468547.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有