7.学习笔记-Maven进阶(P75-P89)-进度(p75-P80)

1.MAVEN-01-分模块开发的意义

(一)分模块开发意义

模块可以按功能划分,也可以按团队划分,所以把domain的方法抽取出来,进行共享,从而提高开发 的效率。

(1)分模块开发的意义:将原始模块按照功能拆分成若干个子模块,方便模块间的相互调用,接口共享。

(二)分模块开发与设计

把maven_02_ssm里面的domain模块 移动到maven_03_ssm,现在02缺少了domain里面的book类会报错,所以要怎么在02模块调用03模块的domain呢?

我们把03的pom.xml的坐标引入到02的pom.xml,再刷新maven就不会报错了

所以再02的maven的lifecycle中点击compile(编译)。编译失败,显示找不到02的maven引用03依赖。






正确的做法:安装03的maven仓库(点击生命周期的install),最后对02再进行maven的compile。


补充:例子二,把dao也分模块化,创建一个新的文件夹04

然后把03的pom.xml的maven_03_pojo的依赖拷到04的pom.xml的依赖下,刷新一下maven。04install后(把04的maven依赖下载到02的maven本地仓库下),再对02进行complie运行。











(三)maven-03-依赖传递







(四)Maven-04-可选依赖与排除依赖

为了避免依赖冲突问题,可以对该模块的项目进行隐藏。

(1)可选依赖是隐藏当前工程所依赖的资源,隐藏后对应资源不具有依赖传递性。简而言之,就是现在的模块不想给别人用,隐藏自己的依赖,让别人不知道我用过什么(隐私)。自己的东西被别人用。

(2)排除依赖是隐藏当前资源对应的依赖关系。简而言之,用了别人的东西,发现不太好用,想把它排除掉。(体验尝试 做排除)。自己用别人的东西。

(五)Maven-05-聚合

打包方式,每个maven工程默认的打包方式是jar。web工程打包方式是war。聚合工程打包方式是pom。

设置管理的模块名称。使用路径名称命名(如何找路径,pom文件出发的上一层文件)

先构建没有依赖关系的工程,再构建有依赖关系的工程。


聚合:用一个工程(即聚合工程)管理多个工程,快速构建的方式。

(六)继承与聚合

继承:描述两个工程之间的关系(父工程、子工程),子工程可以继承父工程的配置信息,常见于依赖关系的继承。









继承的作用:简化配置,减少版本冲突。


01作为父工程,02-03-04作为子工程,继承关系在子类中描述。

(1)在02中配置当前工程 继承来自parent的工程

(2)把02(子工程)的依赖复制粘贴到父工程中。子工程被复制过去的依赖删除,保留父工程的依赖即可。

(七)Maven-属性








在这里插入图片描述

相关推荐
weixin_514221851 小时前
FDTD与matlab、python耦合
python·学习·matlab·fdtd
递归不收敛3 小时前
吴恩达机器学习课程(PyTorch 适配)学习笔记大纲
pytorch·学习·机器学习
不太可爱的叶某人3 小时前
【学习笔记】kafka权威指南——第10章 监控kafka (7-10章只做了解)
笔记·学习·kafka
张人玉4 小时前
C# TCP 客户端开发笔记(TcpClient)
笔记·tcp/ip·c#
递归不收敛5 小时前
吴恩达机器学习课程(PyTorch适配)学习笔记:2.4 激活函数与多类别处理
pytorch·学习·机器学习
加油20195 小时前
如何快速学习一个网络协议?
网络·网络协议·学习·方法论
A9better6 小时前
嵌入式开发学习日志36——stm32之USART串口通信前述
stm32·单片机·嵌入式硬件·学习
不太可爱的叶某人6 小时前
【学习笔记】kafka权威指南——第6章 可靠的数据传递
笔记·学习·kafka
研猛男8 小时前
0、FreeRTOS编码和命名规则
笔记·stm32·freertos
2301_790994999 小时前
仿神秘海域/美末环境交互的程序化动画学习
学习·microsoft·交互