Maven 是 Apache 下的一个纯 Java 开发的开源项目。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。 Maven 是一个项目管理工具,可以对 Java 项目进行构建、依赖管理。
maven官网:http://maven.apache.org/download.html
maven的安装非常简单:
以上,Maven 安装成功!
maven安装后,目录结果如下:
这里重点有两个目录需要说明一下:
上面提到了maven中的respository目录,这是我们自建的仓库地址,接下来我们看一下怎么让maven下载的jar包存入这个目录。我们打开conf目录下的【settings.xml】文件,添加一行配置,如下图:
另外,为了提高jar包下载速度,我们使用阿里云的镜像:
<mirrors>
<!-- 阿里云仓库 -->
<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
</mirror>
</mirrors>
创建maven项目后,项目中将有一个【pom.xml】文件,这个文件是我们管理项目依赖的关键。下面是一个最基础的pom.xml:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>test</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<java.version>1.8</java.version>
<fastjson.version>1.2.47</fastjson.version>
</properties>
<dependencies>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>${fastjson.version}</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
可以看到文件中有很多属性,下面简要概述一下这些属性都起到什么作用:
在Maven中很重要的一点是,groupId、artifactId、version三个元素生成了一个Maven项目的基本坐标,例如:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.47</version>
</dependency>
接下来,我们了解一下maven管理项目依赖的基本原理: 一个项目会有很多jar的依赖,Maven工程首先会从本地仓库中获取jar包,当无法获取指定jar包时,本地仓库会从远程仓库(中央仓库)中下载jar包,并放入本地仓库以备将来使用。三者的关系如下:
补充一点,在IDEA中,每次新建项目后,会使用默认的本地仓库地址,要做一下设置:file–settings–Maven。