Maven
Maven 的本质是一个项目管理工具,将项目开发和管理过程抽象成一个项目对象模型(POM)。开发人员只需做一些简单的配置,就可以批量完成项目的构建、报告和文档的生成工作。
Maven 是跨平台的,这意味着无论是在 Windows 上,还是在 Linux 或者 Mac 上,都可以使用同样的命令。
安装教程(windows系统)
- 下载地址:Maven
选择下载后缀windows系统的选择后缀.zip,unix系统的选择后缀 .tra.gz
注意:安装的前提,需要先安装配置好JDK环境
- 压缩包下载好后,解压到你所放的盘符上。(这里是放在D盘上)
- 然后五步走,配置环境(①②③④⑤)
- 检测是否安装成功
- 打开CMD(WIN键 + R键)窗口 输入 mvn -v
- 出现如图所示,表示安装成功
- 配置本地仓库(回到刚解压文件的目录里,找到conf文件夹下的settings.xml)
- 配置中央仓库的镜像(这里换阿里云的)
小知识
- 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 的配置文件,后面会介绍 classworlds。
- boot
该目录只包含一个文件,以 maven 3.3.9 为例,该文件为 plexus-classworlds-2.5.2.jar。
plexus-classworlds 是一个类加载器框架,相对于默认的 java 类加载器,它提供了更丰富的语法以方便配置,Maven 使用该框架加载自己的类库。
更多关于 classworlds 的信息请参考 classworlds.codehaus.org/。对于一般的 Maven 用户来说,不必关心该文件。
- conf
该目录包含了一个非常重要的文件 settings.xml。直接修改该文件,就能在机器上全局地定制 Maven 的行为。
一般情况下,我们更偏向于复制该文件至 ~/.m2/ 目录下(~表示用户目录),然后修改该文件,在用户范围定制 Maven 的行为。后面将会多次提到 settings.xml,并逐步分析其中的各个元素。
- 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。
关于该文件,还有一点值得一提的是,用户可以在这个目录中找到 Maven 内置的超级 POM,这一点教程后面会详细解释。
- LICENSE.txt
记录了 Maven 使用的软件许可证Apache License Version 2.0。
- NOTICE.txt
记录了 Maven 包含的第三方软件。
- README.txt
包含了 Maven 的简要介绍,包括安装需求及如何安装的简要指令等。
【小知识与学习源自】:Maven安装配置和目录结构详解