Maven概述
- Maven是专门用于管理和构建Java项目的工具,它主要功能有:
-
提供了一套标准化的项目结构
-
提供了一套标准化的构建流程(编译,测试,打包,发布…)
- 提供了一套依赖管理机制
Maven 简介
-
Apache Maven是一个项目管理和构建工具,它基于项目对象模型的概念,通过一小段描述信息来管理项目的构建,报告和文档
-
Maven作用
- 标准化的项目结构
- 标准化的构建流程
- 方便的依赖管理
- 仓库
仓库分类:
- 本地仓库:自己计算机上的一个目录
- 中央仓库:由Maven团队维护的全球唯一的仓库
- 远程仓库(私服):一般由公司团队搭建的私有仓库
当项目中使用坐标引用对应依赖jar包后,首先会查找本地仓库是否有对应jar包:
- 如果有,则在项目直接引用;
- 如果没有,则去中央仓库中下载对应的jar包到本地仓库
还可以搭建远程仓库,将来jar包的查找顺序则变为:
- 本地仓库->远程仓库->中央仓库
Maven安装和配置及基本使用
- Maven安装和配置
-
Maven基本使用
- Maven的常用命令
- complie:编译
- clean:清理
- test:测试
- package:打包
- install:安装
-
Maven生命周期
- Maven构建项目生命周期的是一次构建过程经历了多少事件
- Maven对项目构建的生命周期划分为3套
- clean:清理工作
- default:核心工作,例如编译,测试,打包,安装等
- site:产生报告,发布站点等
同一生命周期内,执行后边的命令,前边所有命令会自动执行
IDEA配置Maven
- IDEAmaven环境配置
- 选择IDEA中File—>Settings
- 搜索maven
- 设置IDEA使用本地安装的Maven,并修改配置文件路径
-
Maven坐标详解
- 什么是坐标?
- Maven中的坐标是资源的唯一标识
- 使用坐标来定义项目或引入项目中需要的依赖
- Maven坐标主要组成
- groupld:定义当前Maven项目隶属组织名称(通常是域名反写 例如:com.itheima)
- artifactld:定义当前Maven项目名称(通常是模块名称,例如order-service,goods-service)
- version:定义当前项目版本号
-
IDEA创建Maven项目
- 创建模块,选择Maven,点击Next
- 填写模块名称,坐标信息,点击finsh,创建完成
- 编写HelloWorld,并运行
- IDEA导入Maven项目
- 选择右侧Maven面板,点击+号
- 选中对应项目的pom.xml文件,双击即可
- 如果没有Maven面板,选择view->Appearance->Tool Window Bars
依赖管理&依赖范围
- 依赖管理
- 使用坐标导入jar包
- 在pom.xml中编写标签
- 在标签中使用引入坐标
- 定义坐标的groupld,artifactld,version
- 点击刷新,时坐标生效
自动导入jar包
快捷方式
- 依赖范围
通过设置坐标的依赖管理范围(scope),可以设置对应jar包的作用范围:编译环境,测试环境,运行环境
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13</version>
<scope></scope>
</dependency>
依赖范围 | 编译classpath | 测试classpath | 运行classpath | 例子 |
---|---|---|---|---|
compile | Y | Y | Y | logback |
test | - | Y | - | Junit |
provide | Y | Y | - | servlet-api |
runtime | - | Y | Y | jdbc驱动 |
system | Y | Y | - | 存储在本地的jar包 |
import | 引入DependencyMangement | |||
- 默认值:complie