一、Maven的简介
“Maven尝试将模式应用于项目的构建基础结构,以通过提供最佳实践的明确途径来提高理解力和生产率。”这是来自于Maven官网的介绍,简单来说就是通过Maven能够方便我们构建项目。
在Maven中,是通过项目对象模型(POM project object model)也就是POM文件来管理项目的构建,在Maven中每一个项目都相当于是一个对象,项目和项目之间也是由关系的,包括依赖,继承,聚合等。每一个项目都能够通过坐标来唯一定位,后面会对此进行详细介绍。
二、Maven的使用
- IDEA默认集成的Maven
在初次使用Maven时,在默认的路径下是找不到settings.xml文件以及本地仓库的,甚至没有.m2这个目录,可以进入cmd输入命令 maven help:system
,maven会从远程仓库中下载各种配置文件和类库,下载完成之后,再打开默认路径,会发现目录已经创建好,但是仍没有settings.xml文件,但Maven的相关配置均可在其下拉列表中完成,若需要添加Maven远程仓库,只需要在POM文件中加入以下配置信息即可;
<repositories>
<repository>
<id>alimaven</id>
<name>Maven Aliyun Mirror</name>
<url>https://maven.aliyun.com/nexus/content/repositories/central/</url>
</repository>
</repositories>
添加完成后,可在maven的子列表repositories中查看,如图所示,列表中包含一个本地仓库以及两个远程仓库,远程中心仓库默认使用的是maven的中心仓库,因此刚刚加入了阿里云的远程仓库。
2.自行下载maven
下载解压完之后,再进环境变量进行配置即可,同时需要进行相应的配置
- 配置settings.xml文件中的mirrors,在中加入
<mirror>
<id>mirrorId</id>
<mirrorOf>repositoryId</mirrorOf>
<name>Nexus company</name>
<url>http://maven.aliyun.com/nexus/content/group/public/</url>
</mirror>
这和在POM中加入远程仓库地址是一样的效果,配置之后当本地仓库中不存在所需文件时,maven会优先去这个地址中查找;
- 在IDEA中进行配置
首先设置“Maven home directory”,如果在环境变量中已经配置完成,则在下拉框中就有,若没有可自行寻找目录,其次勾选两个override,用当前使用的settings.xml文件以及本地仓库地址进行覆盖。
三、Maven仓库
Maven仓库基于简单文件系统存储的,集中化管理Java API资源的一个服务,仓库里的每一个构建都有唯一的坐标,Maven仓库可以分为三种,本地仓库,中央仓库和远程仓库。
- 本地仓库:简单来说就是那个repository那个文件夹,maven会优先从本地仓库进行查询,如果本地仓库中不存在,才会去远程/中央仓库中查询,然后下载到本地仓库中;
- 中央仓库:Maven社区的那个远程仓库,以及我们自己配置的阿里云的那个仓库都属于中央仓库的概念,中央仓库和远程仓库如果但就相对于本地仓库来说的话可以统称为远程仓库;
- 远程仓库:可以理解为在公司内部建立的一个maven仓库,他的获取速度相比于中央仓库肯定是更快的,同时还可以用来存放公司内部的组件。
以理解为在公司内部建立的一个maven仓库,他的获取速度相比于中央仓库肯定是更快的,同时还可以用来存放公司内部的组件。