一、Maven的概述
1.1 什么是Maven?
Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,然后Maven可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。
简单的来说:Maven是一个项目的构建工具。
1.2 Maven的官方网址
http://maven.apache.org/
注意:后续安装Maven时需要查询jdk版本的对应关系 http://maven.apache.org/docs/history.html
1.3 Maven的作用
- 管理依赖;管理jar包的下载,版本
- 构建项目,完成项目代码的编译,测试,打包,部署
1.4 Maven的使用方式
- 独立使用Maven:使用Maven的各种命令,完成代码的编译,测试,打包等
- 结合开发工具使用,一般在IntelliJ IDEA中使用Maven:简单,快捷,不需要记命令
二、Maven的安装
2.1 下载
下载地址
http://maven.apache.org/download.cgi
注意:不建议使用最新版本的Maven,可能与JDK不兼容
2.2 解压
这里说一下,考虑到Window,Linux和MAC三个环境
先下载对应的版本文件
然后解压到一个非中文名称的目录
- Windows环境中,直接使用解压软件打开
- Linux和MAC环境中,使用以下命令来进行解压
tar -zxvf apache-maven-3.6.3-bin.tar.gz
sudo mv -f apache-maven-3.3.9 /usr/local/
2.3 配置环境变量
2.3.1 在Windows下编辑环境变量
- 计算机->属性->高级系统设置–>环境变量
- 在系统变量中新建一个变量M2_HOME
- 在path变量中新增一条配置
- 验证是否安装成功,打开cmd,键入mvn -v,出现如下图输出表示Maven安装成功
2.3.2 在Linux和MAC下编辑环境变量
vi /etc/profile
export MAVEN_HOME=/usr/local/apache-maven-3.3.9
export PATH=${PATH}:${MAVEN_HOME}/bin
注意:配置完成后需要使用如下命令使其修改生效
source /etc/profile
- 在终端输入如下命令,如果能看到 Maven 相关版本信息,则说明 Maven 已经安装成功
$ mvn -v
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:47+08:00)
Maven home: /usr/local/apache-maven-3.3.9
Java version: 1.8.0_31, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home/jre
Default locale: zh_CN, platform encoding: ISO8859-1
OS name: "mac os x", version: "10.13.4", arch: "x86_64", family: "mac"
三、Maven目录分析
话不多说,先上图,我们来分析Maven的每一个目录
1.1 bin
- 该目录包含了 mvn 运行的脚本,这些脚本用来配置 Java 命令,准备好 classpath 和相关的 Java 系统属性,然后执行Java 命令。其中 mvn 是基于 UNIX 平台的 shell 脚本,mvn.bat 是基于 Windows 平台的 bat脚本。在命令行输入任何一条 mvn 命令时,实际上就是在调用这些脚本。
- 目录中还包括mvn和mvn.cmd文件,前者是Linux前者是 UNIX 平台的 shell 脚本,后者是 Windows 平台的cmd脚本。
1.2 boot
- 该目录只包含一个文件,以 maven 3.3.9 为例,该文件为 plexus-classworlds-2.5.2.jar。
- plexus-classworlds 是一个类加载器框架,相对于默认的 java 类加载器,它提供了更丰富的语法以方便配置,Maven 使用该框架加载自己的类库。
1.3 conf
- 该目录包含了一个非常重要的文件 settings.xml。用于全局定义 Maven 的行为。
1.4 lib
- 该目录包含了所有 Maven 运行时需要的 Java 类库,Maven 本身是分模块开发的,因此用户能看到如maven-core-3.0.jar、maven-model-3.0.jar 之类的文件。
- 此外,这里还包含一些 Maven 用到的第三方依赖,如 common-cli-1.2.jar、commons-lang-2.6.jar等。
- 对于 Maven 2 来说,该目录只包含一个如 maven-2.2.1-uber.jar 的文件,原本各为独立 JAR 文件的 Maven 模块和第三方类库都被拆解后重新合并到了这个 JAR 文件中。可以说,lib 目录就是真正的 Maven。
1.5 LICENSE
- 记录了 Maven 使用的软件许可证Apache License Version 2.0。
1.6 NOTICE
- 记录了 Maven 包含的第三方软件。
1.7 README.txt
- 包含了 Maven 的简要介绍,包括安装需求及如何安装的简要指令等。
四、setting.xml配置
顺便提一下,Windows环境下Maven默认的本地仓库在C:\Users\用户名.m2\repository,为了后期的开发方便,需要修改Maven的本地仓库位置
修改本地仓库位置:
- 在一个非中文目录下创建一个名字为repository的文件夹
- 打开Maven的安装目录,进入conf文件夹
- 右键编辑setting.xml文件,打开如下图所示:
- 新增一条localRepository标签,标签内包含的内容就是新建的Maven本地仓库的路径
注意:标签内的路径和本地的绝对路径使用的斜杆方向不同
五、小结
- Maven是一个项目的构建工具
- 安装Maven时,注意需要和JDK的版本相匹配
- 环境变量配置完成后,使用 mvn -v 命令来验证Maven是否安装成功
- 了解Maven目录分析,其中最重要的是setting.xml文件的配置
- 修改本地仓库位置