Maven的使用
什么是Maven?
1 | Maven 是一个项目管理工具,它包含了一个项目对象模型 (POM:Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。 |
Maven的作用
Maven的依赖管理
1 | Maven 的一个核心特性就是依赖管理。当我们涉及到多模块的项目(包含成百个模块或者子项目),管理依赖就变成一项困难的任务。Maven 展示出了它对处理这种情形的高度控制。 |

1 | maven 工程中不直接将 jar 包导入到工程中,而是通过在 pom.xml 文件中添加所需 jar包的坐标,这样就很好的避免了 jar 直接引入进来,在需要用到 jar 包的时候,只要查找 pom.xml 文件,再通过 pom.xml 文件中的坐标,到一个专门用于”存放 jar 包的仓库”(maven 仓库)中根据坐标从而找到这些 jar 包,再把这些 jar 包拿去运行。 |
项目的一键构建
1 | 什么是构建? |

1 | 通过 tomcat:run 的这个命令,我们发现现在的工程编译,测试,运行都变得非常简单。 |
Maven仓库
Maven仓库的分类

1 | 本地仓库 :用来存储从远程仓库或中央仓库下载的插件和 jar 包,项目使用一些插件或 jar 包,优先从本地仓库查找默认本地仓库位置在 ${user.dir}/.m2/repository,${user.dir}表示 windows 用户目录。 |
Maven工程的认识
Maven工程的目录结构

1 | 作为一个 maven 工程,它的 src 目录和 pom.xml 是必备的。进入 src 目录后,我们发现它里面的目录结构如下: |

1 | src/main/java —— 存放项目的.java 文件 |
Maven工程的运行
1 | 进入 maven 工程目录(当前目录有 pom.xml 文件),运行 tomcat:run 命令。 |
Maven常用命令
compile
1 | compile 是 maven 工程的编译命令,作用是将 src/main/java 下的文件编译为 class 文件输出到 target目录下。 |
test
1 | test 是 maven 工程的测试命令 mvn test,会执行 src/test/java 下的单元测试类。 |
clean
1 | clean 是 maven 工程的清理命令,执行 clean 会删除 target 目录及内容。 |
package
1 | package 是 maven 工程的打包命令,对于 java 工程执行 package 打成 jar 包,对于 web 工程打成 war包。 |
install
1 | install 是 maven 工程的安装命令,执行 install 将 maven 打成 jar 包或 war 包发布到本地仓库。 |
Maven指令的生命周期
1 | maven 对项目构建过程分为三套相互独立的生命周期,请注意这里说的是“三套”,而且“相互独立”,这三套生命周期分别是: |
pom的基本配置
1 | pom.xml 是 Maven 项目的核心配置文件,位于每个工程的根目录,基本配置如下: |