Maven是专门用于管理和建构Java项目的工具,它的主要功能有:
- 提供了一套标准化的项目结构
- 提供了一套标准化的构建流程(编译,测试,打包,发布.....)
- 提供了一套依赖管理机制
标准化的项目结构:
标准化的构建流程:
依赖管理:
依赖管理其实就是管理你项目所依赖的第三方资源(jar包,插件.....)
Maven简介
Apache Maven 是一个项目管理和构建工具,它基于项目对象模型(POM)的概念,通过一小段描述信息来管理项目的构建,报告和文档。
仓库分类:
本地仓库:自己计算机上的一个目录
中央仓库:由Maven团队维护的全球唯一的仓库,地址:http://repo1.maven.org/maven2/
远程仓库(私服):一般由公司团队搭建的私有仓库。
- 当项目中使用坐标引入对应依赖jar包后,首先会查找本地仓库中是否有对应的jar包:
如果有,则在项目直接引用;
如果没有,则去中央仓库中下载对应的jar包到本地仓库。
- 还可以搭建远程仓库,将来jar包的查找顺序则变为:
本地仓库→远程仓库→中央仓库
Maven的常用命令
- compile:编译
- clean:清理
- test:测试
- package:打包
- install:安装
Maven的生命周期
- Maven 构建项目生命周期描述的是一次构建过程经历经历了多少个事件
- Maven对项目构建的生命周期分为3套
clean:清理工作
default:核心工作 ,例如编译,测试,打包,安装等
sit:产生报告,发布站点等
Maven的坐标详解
什么是坐标?
Maven中的坐标是资源的唯一标志
使用坐标来定义项目或引入项目中需要的依赖
Maven坐标的主要组成
- groupld:定义当前Maven项目隶属组织名(通常是域名反写,例如:com.ithemia)
- artifactld:定义当前Maven项目的名称(通常是模块名称,例如order_service,goods-service)
- version:定义当前项目版本号