1. Maven概述
Maven是一个项目管理工具,包含:项目对象模型(POM, Project Object Model),标准集合,项目生命周期(Project Lifecycle),依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。
maven在导入jar包的时候,不直接将jar包导入到工程中,而是建立了一个专门存放jar包的参考,当需要使用jar包时,在pom.xml文件中添加所依赖的jar坐标,maven会根据pom.xml中添加的依赖坐标到仓库中找到jar。下面也简单描述了maven依赖管理的流程。
从上图上可以看出,maven的仓库在maven工程中有很重要的地位,而maven仓库又可以分为三类:本地仓库,远程仓库和中央仓库。
本地仓库指的就是本机存放jar包的仓库,maven在查找jar包的时候,首先会从本地仓库开始查找,如果本地仓库找不到需要的jar包就会从远程仓库下载jar包,下载的jar包依旧存放到本地仓库中。
- 本地仓库默认地址是f
C:\Users\acer\.m2\repository
,可以在conf/setting.xml文件中修改,一般最好修改到一个好找的路径下,注意该路径中也不能含有中文符 - 远程仓库和中央仓库都是互联网通用的,如果找不到jar包maven回到互联网内去下载对应的jar包,在conf/setting.xml文件中也可以进行修改和添加
<!-- 阿里云仓库 -->
<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
</mirror>
<!-- 中央仓库1 -->
<mirror>
<id>repo1</id>
<mirrorOf>central</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://repo1.maven.org/maven2/</url>
</mirror>
<!-- 中央仓库2 -->
<mirror>
<id>repo2</id>
<mirrorOf>central</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://repo2.maven.org/maven2/</url>
</mirror>
2. Maven的环境变量配置
直接去maven的官网上下载安装软件,然后解压到一个没有中文的路径下,可以得到如下文件
bin下存放了maven的命令
boot下存放了maven的一些引导程序,例如类加载器等
conf下存放了maven的配置文件,如setting.xml
lib下存放的是maven自带的依赖jar包
解压好文件后需要设置环境变量,设置系统变量M2_HOME,并将下的bin路径添加到path下
设置好后检查配置,在cmd下输入mvn -v
3. maven的IDEA配置
在idea上使用maven时,首先要对maven进行配置
建立好maven文件后,会自动生成一个pom.xml文件,根据工程的需要,需要在pom.xml中添加依赖,例如项目依赖hadoop2.7.5,需要在pom中添加如下配置
<dependency>
<!-- jar包所属项目名称 -->
<groupId>org.apache.hadoop</groupId>
<!-- jar包名称 -->
<artifactId>hadoop-common</artifactId>
<!-- 版本 -->
<version>2.7.5</version>
</dependency>
如果不知道jar包的坐标可以从互联网上搜索,在https://mvnrepository.com/上搜索对应的jar包,可以生成对应的坐标
如果在配置好maven后,本地仓库有jar包的情况下,pom还报错
看看本地仓库jar包的后缀是否正确。。
如果仓库后缀如图片所示,需要改为jar后缀