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.mfbz.cn/a/153.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

CUDA编程之Grid、Block、Thread线程模型

一、线程模型:Grid、Block、Thread概念 ‌1. 层级定义‌ ‌Thread(线程)‌ CUDA中最基本的执行单元,对应GPU的单个CUDA核心(SP)。每个线程独立执行核函数指令,拥有独立的寄存器和局部内存空间‌。 ‌Block(线程块)‌ 由多个线程组成(通常为32的倍数),是逻辑上的并…

8. 深入Spring AI:自定义Advisor

1、前言 前面大篇幅介绍了关于Spring AI Advisor机制,并介绍了一些常见的内置的advisor。今天我们来自定义有一个Advisor。 2、快速开始 要自定义一个属于自己的Advisor,其实很自定义一个AOP一样简单。只需遵循以下步骤: 创建一个Advisor类,实现CallAroundAdvisor或Stre…

【C++】继承----下篇

文章目录 前言一、实现一个不能继承的类二、友元与继承三、继承与静态成员四、多继承以及菱形继承问题1.继承模型:2.菱形继承的问题3.虚拟继承解决数据冗余和二义性的原理4.虚拟继承的原理 五、继承的总结和反思1.继承和组合 总结 前言 各位好呀!今天呢我们接着讲继…

五一去荣昌吃卤鹅?基于Java和天地图的寻找荣昌卤鹅店实践

目录 前言 1、卤鹅哥与甲亢哥的爆火事件 2、荣昌卤鹅产业的空间分布 3、使用Java 和天地图进行产业挖掘 一、地名检索简介 1、地名检索功能 2、地名检索API介绍 二、荣昌卤鹅检索实践 1、数据获取流程 2、天地图API请求构建 3、参数构建及调用 4、结果生成及本地保存…

AI数字人:繁荣背后的伦理困境与法律迷局(8/10)

摘要:本文深入剖析 AI 数字人从虚拟走向现实的历程,阐述其融合多技术实现从静态到动态交互的跨越,爆发式应用于各领域带来的商业价值与社会影响,同时直面由此引发的伦理法律挑战,包括身份认同、数据隐私、责任归属及权…

【C++指南】告别C字符串陷阱:如何实现封装string?

🌟 各位看官好,我是egoist2023! 🌍 种一棵树最好是十年前,其次是现在! 💬 注意:本章节只详讲string中常用接口及实现,有其他需求查阅文档介绍。 🚀 今天通过了…

头歌实训之索引

🌟 各位看官好,我是maomi_9526! 🌍 种一棵树最好是十年前,其次是现在! 🚀 今天来学习C语言的相关知识。 👍 如果觉得这篇文章有帮助,欢迎您一键三连,分享给更…

第25周:DenseNet+SE-Net实战

目录 前言 1.准备工作 2.查看数据 3.划分数据集 4.创建模型 5.编译及训练模型 6.结果可视化 7.总结 前言 🍨 本文为🔗365天深度学习训练营中的学习记录博客🍖 原作者:K同学啊 1.准备工作 import torch import torch.nn as nn imp…

什么是Maven

Maven的概念 Maven是一个一键式的自动化的构建工具。Maven 是 Apache 软件基金会组织维护的一款自动化构建工具,专注服务于Java 平台的项目构建和依赖管理。Maven 这个单词的本意是:专家,内行。Maven 是目前最流行的自动化构建工具&#xff0…

VSCode如何修改默认扩展路径和用户文件夹目录到其他盘以及微信开发工具如何修改扩展路径到其他盘

ps:因公司电脑c盘内存严重不足,而出本篇文章 1.Visual Studio Code 随着VsCode的使用时间的推移,安装的扩展以及数据逐步增多,导致c盘内存占用较大,所以这里将vscode的默认缓存路径等迁移到其他盘。 步骤如下 1.找到默认的存储…

【LLM+Code】Github Copilot Agent/VsCode Agent 模式PromptTools详细解读

一、前言 github copilot agent mode现在和vscode是强绑定的关系, 其实是一个东西: https://github.blog/news-insights/product-news/github-copilot-the-agent-awakens/https://code.visualstudio.com/docs/copilot/chat/chat-agent-mode 二、Syste…

Ubuntu服务器上如何监控Oracle数据库

在 Ubuntu 服务器上监控 Oracle 数据库,虽然不像在 Windows 或某些企业 Linux(如 RHEL)那样有现成的 GUI 工具,但你完全可以通过命令行工具、脚本、开源监控平台来实现全面监控,包含: 数据库性能指标&#…