Maven是一个项目管理工具,它包含了一个项目对象模型(POM:Project Object Model),其表现于一个XML文件(
pom.xml
),其中包含了项目的基本学习,依赖关系,插件配置,构建路径等等
导入第三方jar包更便捷:之前我们在使用第三方框架时我们会把jar包复制粘贴到WEB-INF/lib包下.每次创建新工程时都要重复一般繁琐的步骤,当使用maven,其会将每个jar包在maven本地仓库中保存一份,需要jar包的工程只要以坐标的方式简单引用一下即可.大大节约空间,让项目更加轻巧
连带依赖jar包:jar包往往不是独立的,许多jar包需要依赖于其他jar包才能进行工作.每当我们去引入一个新的jar包,我们并不知道这个jar包是否依赖于其他的jar包.若使用maven,可以自动将当前jar包所依赖的其他jar包全部注入进来,无需人工参与,节约了大量的人力精力
获取规范的jar包:在开发过程中我们会使用很多jar包,每个jar包的获取方法不同,在网上早的jar包,或许是不规范的,是不可以使用的,而maven可以为我们提供一个完全统一规范的jar包管理体系
将项目进行模块化管理:随着项目的扩大其不能简单的通过package结构来划分模块,因为会造成jar包的多次导入,非常不方便,这时候必须得将项目拆分为多个工程进行协同开发,这样每个jar包只需到maven仓库中导入即可
maven仓库是其原理的重要一部分,Maven中任何一个依赖,插件,或项目构建的的输出都可称之为构件
两类仓库
maven仓库分为本地仓库于远程仓库,寻找构件时,首先会在本地仓库中寻找,若没找到则跳转至远程仓库寻找;在原创仓库中找到之后就将其下载至本地仓库以便下次使用
本地仓库:在下载完maven,若不配置本地仓库地址,则maven会将其默认配置到C盘.因此我们需要手动配置:打开maven文件→找到conf文件夹→打开setting,xml文件
在setting.xml文件中55行打上一个标签
<localRepository>路径地址</localRepository>
这样本地仓库就配置好了
远程仓库:
<mirrors>
标签将其中的原始<mirror>
标签注释掉将其换成阿里巴巴的镜像网站即可体验高速下载 <!-- 阿里巴巴镜像Maven网址 -->
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
在IDEA工作去上方菜单找到File,下拉选择Setting
在弹出对话框中,展开“Build,Execution,Deployment”,在 Build Tools 下选择 Maven,如下图
在 Maven home path 中,指定本地 Maven 的位置
勾选 User Settings file 后面的 Override,并指定本地仓库的 setting.xml 文件
勾选 Local repository 后面的 Override,并指定本地仓库的地址
在实际开发过程中,我们所接触的项目都是比较大型的,因此通过合理的模块拆分,可以实现代码的复用便于维护利用
父级模块的作用是统筹每个子模块的开发工作
common模块用于封装那些在整个项目中多个模块都需要使用的公共代码和资源.common模块可以包含各种工具类,常量,配置文件,实体类等等
maven通过
pom.xml
文件管理项目中会用到的依赖
pom.xml
文件,称之为子模块<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.21</version>
</dependency>
groupld, artifactld, version
:依赖的基本坐标, 对于任何一个依赖来说,基本坐标是最重要的,Maven是根据坐标才能找到需要的依赖