# Maven-初识
🐴
# 前言
Maven是Apache下的一个纯Java开发的开源项目。Maven是一个项目管理工具,可以对Java项目进行构建、依赖管理。Maven的大体作用以及优点如下
- 帮助管理 构建、文档、报告、依赖、
scms、发布、分发的方法。 - 可以方便的编译代码、进行依赖管理、管理二进制库等等。
- 可以将项目过程规范化、自动化、高效化以及强大的可扩展性
- 利用
maven自身及其插件还可以获得代码检查报告、单元测试覆盖率、实现持续集成等等
# Maven项目结构
在项目中使用Maven来管理时,其主要目录结构如下:
maven-project
├── src
│ ├── main
│ │ ├── java
│ │ └── resources
│ └── test
│ ├── java
│ └── resources
└── target
│ ├── classes
├── pom.xml
src/main/java存放java源码目录src/main/resources存放资源目录src/test测试相关目录src/target打包输出目录pom.xmlmaven的项目配置(描述)文件
# 核心概念
# Pom
Pom(project object Model)是一个xml,它是maven的工作基础。pom文件中包含了项目的信息和maven build项目所需的配置信息,通常有项目信息(如版本、成员)、项目的依赖、插件和goal、build选项等等
pom是可以继承的,通常对于一个大型的项目或是多个module的情况,子模块的pom需要指定父模块的pom
# 生命周期
maven的生命周期如下:
| 生命周期 | 功能 | 说明 |
|---|---|---|
validate验证 | 验证项目 | 验证项目是否正确且所有必须信息是可用的 |
compile编译 | 执行编译 | 源代码编译在此阶段完成 |
Test测试 | 测试 | 使用适当的单元测试框架(例如JUnit)运行测试。 |
package包装 | 打包 | 创建JAR/WAR包如在pom.xml中定义提及的包 |
verify检查 | 检查 | 对集成测试的结果进行检查,以保证质量达标 |
install安装 | 安装 | 安装打包的项目到本地仓库,以供其他项目使用 |
deploy部署 | 部署 | 拷贝最终的工程包到远程仓库中,以共享给其他开发人员和工程 |
参考文献