1、maven是什么?
maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告以及文档的项目管理工具软件。简单来说,maven就是一个项目管理工具,能够帮助我们更好地管理自己的项目。
2、maven的作用
maven有一个生命周期,当你运行mvn install 的时候被调用,这条命令告诉maven执行一系列有序的步骤,直到到达你指定的生命周期,遍历生命周期旅途中的一个影响就是,maven运行了许多默认的插件目标,这些目标完成了像编译和创建一个JAR文件这样的工作。除此之外,Maven还能很方便的帮你管理项目报告,生成站点,管理JAR文件等。
3、maven的结构
1)bin
该目录包含了 mvn 运行的脚本,这些脚本用来配置 Java 命令,准备好 classpath 和相关的 Java 系统属性,然后执行 Java 命令。
其中 mvn 是基于 UNIX 平台的 shell 脚本,mvn.bat 是基于 Windows 平台的 bat 脚本。在命令行输入任何一条 mvn 命令时,实际上就是在调用这些脚本。
该目录还包含了 mvnDebug 和 mvnDebug.bat 两个文件,同样,前者是 UNIX 平台的 shell 脚本,后者是 Windows 平台的 bat 脚本。那么 mvn 和 mvnDebug 有什么区别和关系呢?
打开文件我们就可以看到,两者基本是一样的,只是 mvnDebug 多了一条 MAVEN_DEBUG_OPTS 配置,其作用就是在运行 Maven 时开启 debug,以便调试 Maven 本身。
此外,该目录还包含 m2.conf 文件,这是 classworlds 的配置文件。
2)boot
该目录只包含一个文件,以 maven 3.3.9 为例,该文件为 plexus-classworlds-2.5.2.jar。
plexus-classworlds 是一个类加载器框架,相对于默认的 java 类加载器,它提供了更丰富的语法以方便配置,Maven 使用该框架加载自己的类库。
3)conf
该目录包含了一个非常重要的文件 settings.xml。直接修改该文件,就能在机器上全局地定制 Maven 的行为。
一般情况下,我们更偏向于复制该文件至 ~/.m2/ 目录下(~表示用户目录),然后修改该文件,在用户范围定制 Maven 的行为。后面将会多次提到 settings.xml,并逐步分析其中的各个元素。
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。
5)LICENSE.txt
记录了 Maven 使用的软件许可证Apache License Version 2.0。
6)NOTICE.txt
记录了 Maven 包含的第三方软件。
7)README.txt
包含了 Maven 的简要介绍,包括安装需求及如何安装的简要指令等。
4、maven的搭建过程
1)下载maven
maven官网地址:http://maven.apache.org/download.cgi
2)配置环境变量
win+r输入sysdm.cpl点击确定
选择高级选项卡,点击环境变量
新建变量名为MAVEN_HOME的系统变量,变量值为自己电脑上maven的安装目录,输入完成点击确定
配置path,点击path变量
在PATH的末尾追加maven的路径,完成后点击确定
;%MAVEN_HOME%\bin
验证maven环境变量的配置
以管理员身份打开DOS窗口,运行mvn –v命令检查Maven的安装情况
上图所示便是maven环境变量成功配置的结果