目录
Maven是专门用于管理和构建Java项目的工具,它的主要功能有
- 提供了一套标准化的项目结构
- 提供了一套标准化的构建流程(编译、测试、打包、发布...)
- 提供了一套依赖管理机制
一、Maven简介
Apache Maven是一个项目管理和构建工具,它基于项目对象模型(POM)的概念,通过一小段描述信息来管理项目的构建、报告和文档的软件项目管理工具
官网 :http://maven.apache.org/
1.1 Maven模型
- 项目对象模型(Project Object Model)
- 依赖管理模型(Dependency)
- 插件(Plugin)
1.2 仓库
我们创建Maven项目,在项目中使用坐标来指定项目的依赖,依赖jar包是存储在我们的本地仓库中。而项目运行时从本地仓库中拿需要的依赖jar包。
仓库分类:
- 本地仓库:自己计算机上的一个目录
- 中央仓库:由Maven团队维护的全球唯一的仓库
地址: https://repo1.maven.org/maven2/
- 远程仓库(私服):一般由公司团队搭建的私有仓库
当项目中使用坐标引入对应依赖jar包后,首先会查找本地仓库中是否有对应的jar包:
○如果有,则在项目中直接引用;
○如果没有,则区中央仓库中下载对应的jar包到本地仓库
二、Maven安装配置
三、Maven基本使用
3.1 Maven常用命令
- compile:编译
- clean:清理
- test:测试
- package:打包
- install:安装
3.2 Maven声明周期
Maven构建项目生命周期描述的是一次构建过程经历了多少个事件
Maven对项目构建的生命周期划分为3套:
- clean:清理工作
- default:核心工作。例如:编译、测试、打包、安装等
- site:产生报告,发布站点等。这套生命周期一般不会使用
同一套生命周期内,执行后边的命令,前面的所有命令会自动执行。例如默认(default)生命周期如下:
四、IDEA中使用Maven
先在IDEA中配置Maven环境:
- 选择 IDEA中 File --> Settings
- 搜索maven
- 设置 IDEA 使用本地安装的 Maven,并修改配置文件路径
- 上面步骤操作完毕后还需要在idea中去永久设置一下setting.xml和local repository 的默认位置,这样下次新建项目他们的位置就不会改变了。
4.1 Maven坐标详解
什么是坐标?
- Maven 中的坐标是资源的唯一标识
- 使用坐标来定义项目或引入项目中需要的依赖
Maven 坐标主要组成
- groupId:定义当前Maven项目隶属组织名称(通常是域名反写,例如:com.itheima)
- artifactId:定义当前Maven项目名称(通常是模块名称,例如 order-service、goods-service)
- version:定义当前项目版本号
注意:
- 上面所说的资源可以是插件、依赖、当前项目。
- 我们的项目如果被其他的项目依赖时,也是需要坐标来引入的。
4.2 IDEA 创建 Maven项目
4.3 IDEA 导入 Maven项目
五、依赖管理
5.1 使用坐标引入jar包
5.2 依赖范围
通过设置坐标的依赖范围(scope),可以设置 对应jar包的作用范围:编译环境、测试环境、运行环境。