Maven
概念
Maven 是一个项目管理工具,它包含了一个项目对象模型 (POM:Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。
功能:
- jar包管理
- 构建工程
- 单元测试
- 项目部署
构建:从编译、测试、运行、打包、安装 、部署整个过程都交给 maven 进行管理,
安装
- 下载
- 配置环境变量
- 目录结构
- bin:存放了maven的命令
- boot:存放了一些maven本身的引导程序,如类加载器等
- conf:存放了maven的一些配置文件,如 setting.xml 文件
- lib:存放了maven本身运行所需的一些jar包
Maven仓库
- 本地仓库:
- 修改本地仓库:
/conf/settings.xml
<localRepository>/path/to/local/repo</localRepository>
- 修改本地仓库:
- 远程仓库
- 中央仓库
Maven项目标准目录结构
src/main/java
:核心代码部分src/main/resources
:配置文件部分src/test/java
:测试代码部分src/test/resources
:测试配置文件src/main/webapp
;页面资源
Maven指令
指令 | 含义 | 作用 |
---|---|---|
mvn clean |
清理命令 | 删除 target 目录及内容 |
mvn compile |
编译命令 | 是将 src/main/java 下的文件编译为 class 文件输出到 target目录下。 |
mvn test |
测试命令 | 执行 src/test/java 下的单元测试类 |
mvn package |
打包命令 | 对于 java 工程执行 package 打成 jar 包,对于 web 工程打成 war包。 |
mvn install |
安装命令 | 执行 install 将 maven 打成 jar 包或 war 包发布到本地仓库 |
mvn deploy |
发布命令 | 将maven的web项目部署到远程服务器 |
Maven生命周期
- maven 对项目构建过程分为三套相互独立的生命周期
- Clean Lifecycle : 清理生命周期。在进行真正的构建之前进行一些清理工作。
- Default Lifecycle : 默认生命周期。构建的核心部分,编译,测试,打包,部署等等。
- Site Lifecycle : 站点生命周期。生成项目报告,站点,发布站点。
Maven概念模型
依赖管理
- 项目对象模型(Project Object Model)
- pom.xml
- 项目信息
- 项目所依赖的jar包信息
- 项目运行环境信息,比如:jdk,tomcat等
- pom.xml
依赖管理系统(Dependency Management System)
通过maven的依赖管理对项目所依赖的jar包进行统一管理
1
2
3
4
5
6
7
8
9
10
11
12<!-- 依赖关系 -->
<!-- 此项目运行使用 junit,所以此项目依赖 junit -->
<dependency>
<!-- junit 的项目名称 -->
<groupId>junit</groupId>
<!-- junit 的模块名称 -->
<artifactId>junit</artifactId>
<!-- junit 版本 -->
<version>4.9</version>
<!-- 依赖范围:单元测试时使用 junit -->
<scope>test</scope>
</dependency>
一键构建
- 项目生命周期:maven 管理项目生命周期过程都是基于插件完成的。
- 清理
- 编译
- 测试
- 打包
- 安装
- 部署
坐标定义
- 在pom.xml中定义坐标,内容包括:groupId、artifactid、version
- POM基本配置
1 | <project > :文件的根节点 . |