目录
1.Maven概述
2.Maven依赖管理
2.1依赖配置
2.2依赖传递
2.3依赖范围
2.4生命周期
1.Maven概述
maven是一款管理和构建java项目的工具
Maven的作用:
- 依赖管理:方便快捷的管理项目依赖的资源(jar包),避免版本冲突问题
- 统一项目结构:提供标准、统一的项目结构
- 项目构建:标准跨平台(Linux、Windows、MacOS)的自动化项目构建方式
1.依赖管理:比如如果想使用某个jar包,只需要在Maven项目下的pom.xml文件里面加上依赖就行了,Maven会自动联网下载依赖,如下所示:
<dependencies>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId> //依赖名
<version>1.2.11<version> //版本号
</dependency>
</dependencies>
2.统一项目结构:由于eclipse、IDEA这些IDE都有着自己的项目结构,不好管理,使用Maven后就有统一的项目结构
3.项目构建:Maven有compile(编译)和package(打包)指令,然后生成之后放在target目录下(存放了编译之后的字节码class文件)
如下图所示,jar包就是项目打包后的文件,然后可以在不同的系统上运作
2.Maven依赖管理
2.1依赖配置
groupId组织名,artifactId模块名
<dependencies>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.5.6</version>
//上面三行叫做依赖的坐标
</dependency>
</dependencies>
2.2依赖传递
比如此处只添加了logback一个依赖,但是Maven会自动添加了其他的依赖
2.3依赖范围
大部分情况下scope的取值都是compile,也就是默认值,所以把scope那行删掉也问题不大
2.4生命周期
Maven的生命周期就是为了对所有的maven项目构建过程进行抽象和统一
Maven中有3套相互独立的生命周期:
- clean:清理工作
- default:核心工作,如:编译、测试、打包、安装、部署等
- site:生成报告、发布站点等
比如,如果要执行package打包的操作,需要先把compile、test完成(重点:是同一套生命周期内阶段是有顺序的,比如执行instal不会先执行clean,因为它们属于两套生命周期)