1. 介绍
项目管理和构建工具,它基于项目对象模型(Project Object Model , 简称: POM)的概念,通过一小段描述信息来管理项目的构建、报告和文档。
2. 作用
方便的依赖管理
统一的项目结构
标准的项目构建流程
3. 配置

配置本地仓库
在自己计算机上新一个目录(mvn_repo),进入到conf目录下修改settings.xml配置文件,将本地仓库的文件路径放置于此

配置环境变量
以安装包路径来配置,输入mvn -v 弹出输出,即代表配置成功
4. IDEA使用maven
4.1 新建maven项目
选择 IDEA中 File =>
close project=>Customize=>All settings=>Build,Execution,Deployment=>Build Tools=>Maven

创建一个空项目 => 选择小齿轮 => 选择
Project Structure

创建模块,
File=>Module=>java=> 填写模块的基本信息

4.2 导入已有的maven项目
方式一:
File->Project Structure->Modules->Import Module->选择maven项目的pom.xml

方式二:
Maven面板->+(Add Maven Projects)->选择maven项目的pom.xml

5. Maven项目介绍
5.1 目录结构
maven-project01
|--- src (源代码目录和测试代码目录)
|--- main (源代码目录)
|--- java (源代码java文件目录)
|--- resources (源代码配置文件目录)
|--- test (测试代码目录)
|--- java (测试代码java目录)
|--- resources (测试代码配置文件目录)
|--- target (编译、打包生成文件存放目录)5.2 pom.xml文件
POM (Project Object Model) :指的是项目对象模型,用来描述当前的maven项目。
<project>``:pom文件的根标签,表示当前maven项目<modelVersion>:声明项目描述遵循哪一个POM模型版本虽然模型本身的版本很少改变,但它仍然是必不可少的。目前POM模型版本是4.0.0
坐标 :
<groupId>:定义当前Maven项目隶属组织名称(通常是域名反写,例如:cn.alchemylab)<artifactId>:定义当前Maven项目名称(通常是模块名称,例如 order-service、goods-service)<version>:定义当前项目版本号(SNAPSHOT为开发版本,RELEASE为发行版本)
<maven.compiler.source>:编译JDK的版本<maven.compiler.target>:运行JDK的版本<project.build.sourceEncoding>: 设置项目的字符集
5.3 依赖管理
导入依赖:打开pom.xml文件,在< project >标签内写入如下模板信息
<dependencies>
<!-- 依赖模块 -->
<dependency>
<groupId>org.springframework</groupId> <!-- 输入依赖的 组织名称 -->
<artifactId>spring-context</artifactId> <!-- 输入依赖的 名称 -->
<version>6.1.4</version> <!-- 输入依赖的 版本 -->
</dependency>
</dependencies>mvn的中央仓库(https://mvnrepository.com/)
移除依赖:导入A依赖时,可能会一起导入B、C依赖。若要移除C依赖,可在A依赖的 < dependency >标签中加入 exclusions标签
<dependencies>
<!-- 依赖模块 -->
<dependency>
<groupId>org.springframework</groupId> <!-- 输入依赖的 组织名称 -->
<artifactId>spring-context</artifactId> <!-- 输入依赖的 名称 -->
<version>6.1.4</version> <!-- 输入依赖的 版本 -->
</dependency>
<!--排除依赖, 主动断开依赖的资源-->
<exclusions>
<exclusion>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-observation</artifactId>
</exclusion>
</exclusions>
</dependencies>5.4 Lifecycle
在同一套生命周期中,执行后面的生命周期时,前面的生命周期都会执行。
clean:移除上一次构建生成的文件
compile:编译项目源代码
test:使用合适的单元测试框架运行测试(junit)
package:将编译后的文件打包,如:jar、war等
install:安装项目到本地仓库

参与讨论
(Participate in the discussion)
参与讨论