Maven-笔记2
[toc]
一、Maven 简介
Maven (妹文)可以翻译成“专家”。是 Apache 的一个开源项目,
用于Java平台下的**项目“构建”、依赖管理、项目信息管理**。
1.1、“项目构建” 的概念
编译、运行单元测试、生成文档、打包、部署。这一整套流程就是 **构建(build)**。
1.2、“项目构建” 的工具
常见的项目构建工具:
Ant
:最早的构建工具,基于IDE。Maven:
Java 编写,通过 项目对象模型 管理项目,第一个支持从网络下载的概念,XML 作为配置文件。Gradle
:安卓的管理工具,采用 DSL格式 作为配置文件格式。
1.3、Maven 的四大特性
1.3.1、依赖管理
Maven 用于管理 jar 包。
一个 jar 包的依赖可以通过 groupId、artifactId、version 组成的 坐标(coordination)来标识。
一个 Maven 项目,本身必须具有 “gav”坐标,打包方式可以是 jar 包,也可以是 war 包。
示例:
1 | <!-- |
1.3.2、多模块构建
Maven 的POM.xml 配置文件可以有继承的关系。
在使用继承关系时,需要先定义一个 parent POM 作为 一组 module 的聚合 POM。
在 parent POM 中,使用 <modules>
来注册 一组子模块,并且父模块的依赖会自动传递给子模块。
1.3.3、项目结构一致
约定大于配置,Maven 项目有统一的目录结构。
1.3.4、构建模型和插件结构一致
构建模型 和 插件结构 这两者的结构是一致的,都采用了 “gav” 的格式。
1 | <plugin> |
二、Maven 安装与配置
2.1、Maven 的安装
(1)安装 JDK ,cmd 中检查 JDK 版本 java -version
。
(2)下载、解压 Maven。
(3)将 Maven 的 bin 目录加入环境变量。
(4)cmd 中,输入 mvn -verion
,检查是否安装成功。
2.2、Maven项目的目录结构
1 | 项目目录: |
pom.xml
的格式:
1 |
|
三、IDEA 集成 Maven
见另一版Maven笔记
四、Maven 项目的创建
见另一版Maven笔记
五、Maven 仓库
见另一版Maven笔记
六、Maven 多模块管理
案例:
- parent:父模块
- dao:子模块1,jdbc操作。
- service:子模块2,业务逻辑。
- controller:子模块3,接收响应前端请求。
(1)创建父工程(普通的maven项目,不选模板)
(2)创建子工程(普通的maven项目,选择继承父工程的 pom.xml )
以 dao
模块为例:
选中模板:org.apache.maven.archetypes:maven-archetype-quickstart
若是web项目,可选中maven-archetype-webapp
结尾的模板
七、Maven 打包
八、Maven 依赖
见另一版Maven笔记