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-属性








在这里插入图片描述

相关推荐
阿蒙Amon27 分钟前
TypeScript学习-第10章:模块与命名空间
学习·ubuntu·typescript
AI绘画哇哒哒29 分钟前
【干货收藏】深度解析AI Agent框架:设计原理+主流选型+项目实操,一站式学习指南
人工智能·学习·ai·程序员·大模型·产品经理·转行
戌中横1 小时前
JavaScript——预解析
前端·javascript·学习
●VON2 小时前
React Native for OpenHarmony:2048 小游戏的开发与跨平台适配实践
javascript·学习·react native·react.js·von
山岚的运维笔记2 小时前
SQL Server笔记 -- 第18章:Views
数据库·笔记·sql·microsoft·sqlserver
ZH15455891312 小时前
Flutter for OpenHarmony Python学习助手实战:自动化脚本开发的实现
python·学习·flutter
xcLeigh2 小时前
Python入门:Python3 requests模块全面学习教程
开发语言·python·学习·模块·python3·requests
xcLeigh2 小时前
Python入门:Python3 statistics模块全面学习教程
开发语言·python·学习·模块·python3·statistics
GHL2842710903 小时前
分析式AI学习
人工智能·学习·ai编程
lpruoyu3 小时前
【Android第一行代码学习笔记】Android架构_四大组件_权限_持久化_通知_异步_服务
android·笔记·学习