简单概述
一款规范化、自动化构建Java项目的构建工具,可用于项目构建、依赖模块管理以及报告生成和文档生成等,因此其好处也就不言而喻了,避免人为执行构建导致的错误,使效率更高。
工作原理
工作流程大致如下:读取pom.xml > 下载依赖项 > 执行构建过程/阶段/目标 > 执行插件。
POM文件:核心配置文件,Maven的所有工作都是围绕POM文件(项目对象模型)为中心的,根据pom.xml
的配置执行相应的操作。
下载依赖项:根据pom.xml中的依赖项配置以及setting.xml中配置的远程仓库地址下载依赖包到本地仓库,
如果本地仓库没有依赖项的包才会下载。
执行构建:Maven中有一个概念叫做构建生命周期,生命周期包括三个阶段:
1.项目构建之前的清理环节(clean lifecycle);
2.项目编译和打包环节(default lifecycle);
3.项目报告、站点信息、发布环节(site lifecycle);
不同的生命周期可以嵌套使用,使用者可以根据自身需要进行组合,之后章节会对这个部分再进行详细说明并提供一些常用的组合构建命令。
执行插件:
其他说明:
1.因为Maven的远程仓库在国外,所以在项目实际开发中,一般都会使用国内的镜像仓库,比如阿里的镜像仓库,清华的镜像仓库等等。
2.有一些互联网公司,会有自己的私有仓库,除了做镜像,还会将公司内部的业务包,放到私有仓库中供不同项目做日常开发工作使用,比如公司中台的一些中间件等。
安装部署
/补充安装部署方式/
创建工程
创建完Maven工程后,查看项目下的目录的文件结构:
├── pom.xml(核心配置文件)
├── src
│ ├── main
│ │ ├── java(存放业务代码)
│ │ └── resources(存放业务配置文件)
│ └── test
│ └── java(存放测试代码)
├── target(编译后的业务代码)
接下来就针对Maven中最重要最核心的配置方式进行说明。
XML文件
settings
全局配置文件,重要配置选项有:
pom
以上三个配置统一被命名为Maven的GAV坐标。
对于配置文件中的配置项,从个人角度认为只需要记住一些常用的配置即可,如果需要用到其他,查询样例文件获取即可,样例文件会在文末提供。
常用命令
使用场景 | 具体命令信息 | 命令作用 |
---|---|---|
项目构建 | mvn —version | 查看当前Maven版本信息 |
mvn archetype:generate | ||
** 项目清理/编译/打包** |
mvn clean | 清理target目录下编译后的文件 |
mvn compile | 编译项目,编译后的文件会生成在target目录下 | |
mvn package | 打包命令,把项目打包成jar包或者war包 | |
项目运行/测试/发布 |
mvn test | 自动执行test目录中的测试用例,并生成测试报告 |
mvn site | 用于生成报表数据命令 | |
mvn dependency:tree | 查看当前依赖树 | |
mvn install | 把打好的包放到我们的本地仓库中,供其他项目使用 | |
mvn deploy | 把打好的包放到私有仓库中 |
参考资料
https://www.qikegu.com/docs/2472(文本课程,也比较通俗易懂,可以先大概看下,然后看下面的课程)
https://www.imooc.com/learn/1282(入门可以看看这个视频课程,讲的不错,还提供了各种样例文件)