简介
概述
- Maven 是一个项目管理和整合工具
- Maven 为开发者提供了一套完整的构建生命周期框架
- Maven 简化了工程的构建过程,并对其标准化,它无缝衔接了编译、发布、文档生成、团队合作和其他任务
安装
功能
- 项目管理工具
- 依赖管理工具
- 构建工具
优点
- 对第三方依赖库进行了统一的版本管理
- 统一了构建过程
- 统一了项目的目录结构
构建
- 清理 : mvn clear
- 编译 : mvn compile
- 测试 : mvn test
- 打包 : mvn package
- 部署 : mvn deploy
- 安装(将jar安装到本地仓库): mvn install
使用入门
约定优于配置
Maven 规定了项目的源代码,测试代码,资源文件,编译包输出文件,字节码文件等文件的目录,统一了项目的目录结构
源代码目录 : /src/main/java
资源文件目录 : /src/main/resources
测试代码目录 : /src/test/java
包输出目录 : /target
编译后的字节码输出目录 : /target/classes
POM文件详解
POM 代表工程对象模型,它是使用Maven工作时的基本组件,是一个xml文件,它被放在工程根目录下,文件命名为pom.xml;
POM 包含了关于工程和各种配置细节的信息,Maven使用这些信息构建工程;
POM 也包含了目标和插件,当执行一个任务或者目标时,Maven会查找当前目录下的POM,从其中读取所需要的配置信息,然后执行目标;
-
在创建POM之前,我们首先确定工程组(groupId),及其名称(artifactId)和版本,在仓库中这些属性是工程的唯一标识
- 所有的POM文件需要project元素和三个必须的字段:groupId, artifactId,version;
- 在仓库中的工程标识为groupId:artifactId:version;
- POM.xml的根元素是 project,它有三个主要的子节点
- groupId:这是工程组的标识,它在一个组织或者项目中通常是唯一的;
- artifactId:这是工程的标识,它通常是工程的名称,groupId 和 artifactId 一起定义了 artifact 在仓库中的位置;
- version:这是工程的版本号,在 artifact 的仓库中,它用来区分不同的版本;