- Apache Maven:一个Java项目管理和构建工具,基于项目对象模型(project object model)POM的概念,通过一小段描述信息来管理项目的构建。
Maven的作用

(1)依赖管理:
在po.xml文件中直接导入依赖,可以进行方便的jar包导入
(2)统一项目结构
通过maven构建的项目工程,无论在哪款IDE中都是可以直接导入的

(3)项目构建
maven提供了一套标准化的项目构建流程,无论是在windows还是Linux等系统上都是支持的

介绍

插件: maven内置多种插件来进行项目一键编译,打包等操作
POM: 通过pom.xml文件来管理项目信息和依赖信息,为项目导入jar包依赖,导入依赖时会按照本地仓库->远程仓库->中央仓库的查找顺序查找
仓库:用于存储资源,管理各种 jar 包。
- 本地仓库:自己计算机上的一个目录。
- 中央仓库:由 Maven 团队维护的全球唯一的。仓库地址:https://repo1.maven.org/maven2/
- 远程仓库 (私服):一般由公司团队搭建的私有仓库。
配置maven

- 配置maven关联的jre版本以及Java字节码版本
创建maven项目

Maven坐标
什么是坐标?
- Maven 中的坐标是资源的唯一标识,通过该坐标可以唯一定位资源位置。
- 使用坐标来定义项目或引入项目中需要的依赖。
- Maven 坐标主要组成
groupId:定义当前 Maven 项目隶属组织名称(通常是域名反写,例如:com.itheima)artifactId:定义当前 Maven 项目名称(通常是模块名称,例如order-service、goods-service)version:定义当前项目版本号
<groupId>com.itheima</groupId>
<artifactId>maven-project01</artifactId>
<version>1.0-SNAPSHOT</version>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
</dependency>
导入maven工程
方式一

方式二

依赖管理
1.依赖配置
- 依赖:指当前项目运行所需要的 jar 包,一个项目中可以引入多个依赖。
- 配置:
- 在
pom.xml中编写<dependencies>标签 - 在
<dependencies>标签中 使用<dependency>引入坐标 - 定义坐标的
groupId,artifactId,version - 点击刷新按钮,引入最新加入的坐标
<dependencies>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
</dependency>
</dependencies>
2.依赖传递
- 依赖具有传递性
- 直接依赖:在当前项目中通过依赖配置建立的依赖关系
- 间接依赖:被依赖的资源如果依赖其他资源,当前项目间接依赖其他资源

- 排除依赖: 主动断开依赖的资源,被断开的依赖无法指定版本

3.依赖范围
依赖的 jar 包,默认情况下,可以在任何地方使用。可以通过 <scope>...</scope> 设置其作用范围。
作用范围:
- 主程序范围有效。(main 文件夹范围内)
- 测试程序范围有效。(test 文件夹范围内)
- 是否参与打包运行。(package 指令范围内)

4.生命周期
Maven 的生命周期就是为了对所有的 maven 项目构建过程进行抽象和统一。
Maven 中有 3 套相互独立的生命周期:
- clean:清理工作。
- default:核心工作,如:编译、测试、打包、安装、部署等。
- site:生成报告、发布站点等。
每套生命周期包含一些阶段(phase),阶段是有顺序的,后面的阶段依赖前面的阶段


同一套生命周期中,运行后面的阶段,前面的阶段都会运行

254

被折叠的 条评论
为什么被折叠?



