当前位置: 首页 > java >正文

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-属性
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

http://www.xdnf.cn/news/2112.html

相关文章:

  • Prometheus、Zabbix 和 Nagios 这三个工具的对100个节点的部署设计的信息流
  • Python Cookbook-6.11 缓存环的实现
  • 深入理解TransmittableThreadLocal:原理、使用与避坑指南
  • java智慧城管综合管理系统源码,前端框架:vue+element;后端框架:springboot;移动端:uniapp开发,技术前沿,可扩展性强
  • 代码随想录算法训练营Day31 | 56. 合并区间 738.单调递增的数字
  • 栈相关算法题解题思路与代码实现分享
  • 【Pandas】pandas DataFrame rmul
  • 2024江西ICPC部分题解
  • 数据分析管理软件 Minitab 22.2.2 中文版安装包 免费下载
  • 【Hive入门】Hive分桶表深度解析:从哈希分桶到Join优化的完整指南
  • 数字技术驱动下教育生态重构:从信息化整合到数字化转型的路径探究
  • 【摩尔定律】
  • Python爬虫实战:获取高考资源网各学科精品复习资料
  • C#中的弱引用使用
  • Set的学习
  • Eclipse Debug 配置指南
  • A. Ideal Generator
  • Maven 依赖冲突调解与版本控制
  • 百度AI开发者大会:连发多款AI应用,覆盖AI数字人等热门赛道
  • 【高频考点精讲】实现垂直居中的多种CSS方法比较与最佳实践
  • 2.4goweb项目上传到csdn的git仓库
  • 前端面试宝典---vue原理
  • 【OpenCV】第二章——图像处理基础
  • 丝杆升降机换油周期深度解析:从理论模型到自动化监测的全栈实践​
  • [官方IP] Shift RAM
  • Python 第 11 节课 - string 与 random 的方法
  • io_uring概述:现代 Linux 异步 IO 的新范式
  • 启动命令汇总(Redis / Kafka / Flume / Spark)
  • 【MCP Node.js SDK 全栈进阶指南】中级篇(5):MCP客户端高级开发
  • 云原生--核心组件-容器篇-3-Docker三大核心之--镜像