什么是 Maven

Maven 是一个项目管理工具,包含了一个项目对象模型(Project Object Model),反映在配置中就是 pom.xml 文件。其中包含了一个项目的生命周期、一个依赖管理系统,以及定义在项目生命周期阶段的插件(plugin)和目标(goal)。
其中 Maven 最核心的两大概念包括 依赖管理 和 项目构建。

  • 依赖管理:提供对 jar 的统一管理。(Maven 提供了一个中央仓库,当我们在项目中添加完依赖后,Maven 就会自动去中央仓库中下载相关依赖)。
  • 项目构建:Maven 提供对项目的编译、测试、打包、部署、上传到私服等。

    Maven的下载

    http://maven.apache.org/download.cgi
    下载 Maven,下载地址:https://maven.apache.org/download.cgi。如下图,我们在 Windows 中一般选择第二项进行下载,而在 macOS 或者 Linux 系统中,则选择第一项进行下载。
    1664590446489.png将下载后的压缩包进行解压

    配置环境变量

    这里需要配置环境变量,一个是新建一个系统变量用于指向 Maven 解压缩后的路径,另一个则是修改 Path 变量环境,新加上一条指向 Maven 的 bin 目录的路径。

  • MAVEN_HOME:即刚才解压缩后 Maven 的存放路径

1664590681152.png

  • Path:%MAVEN_HOME%\bin

    1664590743974.png校验安装

    当我们配置环境变量之后,此时就可以打开一个新的 cmd 窗口,然后利用如下校验命令来测试我们的 Maven 是否安装成功,安装成功则会出现如下提示。

    1. mvn -v

    1664591187636.png

    Maven 目录结构

  • bin

包含 mvn 运行的脚步,用于配置 Java 命令,准备好 classpath 和相关的 Java 系统属性,然后执行 Java 命令。

  • boot

只包含一个文件,是一个类加载器框架,相对于默认的 Java 类加载器,提供了更丰富的语法以方便配置。

  • conf

包含 settings.xml ,通过修改该文件,能在机器中全局定制 Maven 的行为。

  • lib

包含所有 Maven 运行时所需的 Java 类库,Maven 本身是分模块开发,所以里边有不同模块之类的类库。此外还包含了一些 Maven 用到的第三方依赖。

Maven 配置

仓库镜像配置

通常安装好 Maven 之后就可以使用了,但是由于 Maven 的中央仓库服务器位于国外,国内使用网速较慢,所以我们最好将中央仓库换为国内的阿里云镜像。
打开 apache-maven-xxx/conf/ 目录下的 settings.xml 文件,然后在 mirrors 节点下加入如下配置:

  1. <mirror>
  2. <id>aliyunmaven</id>
  3. <mirrorOf>*</mirrorOf>
  4. <name>阿里云公共仓库</name>
  5. <url>https://maven.aliyun.com/repository/public</url>
  6. </mirror>

本地仓库配置

安装好 Maven 后,本地仓库默认在 当前用户名/.m2/repository 下,但是这个位置比较隐蔽,所以建议自定义为其他路径:
还是打开 apache-maven-xxx/conf/ 目录下的 settings.xml 文件,然后将如下路径修改为自己要设置的本地仓库,比如我的本地仓库路径如下图:

  1. <localRepository>D:/Java/LocalRepository</localRepository>

IDEA 中的 Maven 配置

依次进入 File -> Settings -> Build,Execution,Deployment -> Build Tools -> Maven,IDEA 默认使用它自带的 Maven,我们可以自定义为自己的 Maven,更加方便管理。
这里主要配置的项目有:

  • Maven home directory:也就是我们 Maven 安装的路径;
  • User settings file:Maven 安装路径下配置文件夹中的 settings.xml 所在路径;
  • Local repository:也就是我们前边文章中所配置的本地仓库位置。

比如我 IDEA 中的 Maven 相关设置就可以参照下图。
Maven安装及配置 - 图6