三, 后端Web开发之 Maven
1. 初识 Maven
- Apache Maven是apache旗下的一个开源项目, 是一款用于管理和构建java项目的工具, 它基于项目对象模型(POM)的概念, 通过一小段描述信息来管理项目的构建

- Maven的作用:
-
依赖管理: 方便快捷的管理项目依赖的资源(jar 包), 避免版本冲突问题
-
统一项目结构: 提供标准, 统一的项目结构

-
项目构建: 标准跨平台的自动化项目构建方式
-
- 什么是坐标?
- Maven 中的坐标是资源的唯一标识,通过该坐标可以唯一定位资源位置。
- 使用坐标来定义项目或引入项目中需要的依赖。
- Maven 坐标主要组成
- groupId:定义当前Maven项目隶属组织名称(通常是域名反写,例如:com.itheima)
- artifactId:定义当前Maven项目名称(通常是模块名称,例如 order-service、goods-service)
- version:定义当前项目版本号

2. Maven 安装
- 解压 apache-maven-3.6.1-bin.zip
- 配置本地仓库:修改 conf/settings.xml 中的
为一个指定目录。
<localRepository> D:\develop\apache-maven-3.6.1\mvn_repo </localRepository>
- 配置阿里云私服:修改 conf/settings.xml 中的
标签,为其添加如下子标签:
<mirror>
<id>aliyunmaven</id>
<mirrorOf>*</mirrorOf>
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
- 配置环境变量: MAVEN_HOME 为maven的解压目录,并将其bin目录加入PATH环境变量。
测试: mvn -v
2. IDEA 集成 MAVEN
2.1 配置 MAVEN 环境
2.1.1 当前工程

2.1.2 全局
2.2 创建Maven项目
2.3 导入Maven项目
2.3.1 方式一

2.3.2 方式二

3. Maven 依赖管理
3.1 依赖配置
- 首次使用某个依赖的dependency, idea可能无提示, 这时候需要去 Maven 仓库 复制坐标信息


3.2 依赖传递
-
依赖具有传递性

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

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

clean:移除上一次构建生成的文件
compile:编译项目源代码
test:使用合适的单元测试框架运行测试(junit)
package:将编译后的文件打包,如:jar、war等
install:安装项目到本地仓库
- 执行生命周期的两种方式








浙公网安备 33010602011771号