前言
什么是Maven?Maven有什么作用呢?Maven怎么样做到快速搭建呢?依赖冲突出现时依据什么原则优先?可选依赖与排除依赖的区别是什么呢?依赖范围与依赖范围的传递性优势依据什么样的原则?生命周期与插件又该如何理解?
一、Maven是什么?
Maven的本质是一个项目管理工具,将项目的开发与管理抽象成一个项目对象模型POM(Project,Object,Mdeol),Maven的出现是为了解决在传统的项目管理上出现的一些问题,比如说jar包不统一,jar包不兼容等问题。
二、Maven快速搭建
我用的是3.8.4版本的Maven,点开文件可以看见有四个文件夹bin,boot,config,lib
这些应该都挺熟悉的了,环境配置可以看下面的链接(59条消息) Maven安装与配置,Idea配置Maven_fl6881688的博客-CSDN博客_maven安装与配置idea
现在我来说一下快速搭建Maven的其中一个方法,先打开你已经安装好的idea,按以下点击事件进行,
file->new->project
Maven->sdk->下面随意点击一个
输入quick,快速定位到我们要找的quickstart,点击next
定义GroupId(Maven组织名称)
定义Artifactld(项目名称)
定义Version(定义版本号)
点击next
点击finish
如果没有配置镜像,应该是会报红的,他会直接去下中央的包,下载速度很慢,需要等一会儿,过一会爆红自动消失,搭建完成。
三,依赖冲突
这里说两个比较常见的,路径优先原则和声明优先原则。
路径优先指的是一度资源会覆盖二度资源。一度资源指的是直接依赖的资源,二度资源指的是直接依赖的直接依赖。
声明优先 两个资源都是2度的情况下,看前面的1度资源,谁先配置就用谁。
四,可选依赖与排除依赖
可选依赖就是把自己的依赖隐藏起来,对外呈现出不透明,具体操作就是在依赖里加一个<optional>true</optional>
排除依赖
就是主动断开资源,你传递过来,但是我不接受。具体操作也挺好找的。
总结
maven知识点挺多,而且因为很好用,现在用的人也非常多,结构统一了,便于操作。