1. Maven概述

Maven是一个项目管理工具,包含:项目对象模型(POM, Project Object Model),标准集合,项目生命周期(Project Lifecycle),依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。

maven pom 申明java版本 maven pom jar_xml文件

maven在导入jar包的时候,不直接将jar包导入到工程中,而是建立了一个专门存放jar包的参考,当需要使用jar包时,在pom.xml文件中添加所依赖的jar坐标,maven会根据pom.xml中添加的依赖坐标到仓库中找到jar。下面也简单描述了maven依赖管理的流程。

maven pom 申明java版本 maven pom jar_maven pom 申明java版本_02

从上图上可以看出,maven的仓库在maven工程中有很重要的地位,而maven仓库又可以分为三类:本地仓库远程仓库中央仓库

本地仓库指的就是本机存放jar包的仓库,maven在查找jar包的时候,首先会从本地仓库开始查找,如果本地仓库找不到需要的jar包就会从远程仓库下载jar包,下载的jar包依旧存放到本地仓库中。

  • 本地仓库默认地址是fC:\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的官网上下载安装软件,然后解压到一个没有中文的路径下,可以得到如下文件

maven pom 申明java版本 maven pom jar_jar包_03

bin下存放了maven的命令

boot下存放了maven的一些引导程序,例如类加载器等

conf下存放了maven的配置文件,如setting.xml

lib下存放的是maven自带的依赖jar包

解压好文件后需要设置环境变量,设置系统变量M2_HOME,并将下的bin路径添加到path下

maven pom 申明java版本 maven pom jar_maven_04

maven pom 申明java版本 maven pom jar_maven_05

设置好后检查配置,在cmd下输入mvn -v

maven pom 申明java版本 maven pom jar_xml文件_06

3. maven的IDEA配置

在idea上使用maven时,首先要对maven进行配置

maven pom 申明java版本 maven pom jar_xml文件_07

maven pom 申明java版本 maven pom jar_xml文件_08

建立好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 pom 申明java版本 maven pom jar_jar包_09

如果在配置好maven后,本地仓库有jar包的情况下,pom还报错

看看本地仓库jar包的后缀是否正确。。

maven pom 申明java版本 maven pom jar_maven pom 申明java版本_10


如果仓库后缀如图片所示,需要改为jar后缀