type
status
date
slug
summary
tags
category
icon
password
@ZZHow(ZZhow1024)
参考课程:
【尚硅谷新版Maven教程】
一、Maven简介
02_依赖管理工具
- 解决 jar 包的规模问题
- 解决 jar 包的来源问题
- 解决 jar 包的导入问题
- 解决 jar 包之间的依赖
03_构建工具
- 我们没有注意过的构建
- 当我们使用 IDEA 进行开发时,构建是 IDEA 替我们做的
- 脱离 IDE 环境仍需要构建
04_什么是Maven
- Maven 是一款为 Java 项目管理构建、依赖管理的工具(软件),使用 Maven 可以自动化构建、测试、打包和发布项目,大大提高了开发效率和质量
- Maven 就是一个软件,掌握安装、配置、以及基本功能(项目构建、依赖管理)的理解和使用即可
- 依赖管理
- 构建管理
Maven 可以管理项目的依赖,包括自动下载所需依赖库、自动下载依赖需要的依赖并且保证版本没有冲突、依赖版本管理等
Maven 可以管理项目的编译、测试、打包、部署等构建过程
05_工作原理(了解)
二、Maven的安装和环境配置
- 安装条件:Maven 需要本机安装 Java 环境,必须包含 java_home 环境变量
- 软件安装:无需安装,直接解压即可
- 软件结构:
- bin:含有 Maven 的运行版本
- boot:有 plexus-classworlds 类加载器框架
- conf:含有 Maven 的核心配置文件
- lib:含有 Maven 运行时所需要的 Java 类库
- LICENSE、NOTICE、README.txt:针对 Maven 版本,第三方软件等简要介绍
- 环境配置
- 配置 MAVEN_HOME:家目录(bin 的上一级)
- 配置 Path:bin 目录
- 命令测试
命令行中测试是否能正常输出 Maven 的版本
三、Maven的功能配置
apache-maven-3.8.8\conf 中的 settings.xml
- 配置本地仓库地址
- 配置国内阿里镜像(可选)
- 配置 JDK 版本
四、IDEA配置本地Maven软件
五、概念梳理
09_Maven工程的GAVP
Maven 中的 GAVP(Groupld, Artifactld, Version and Packaging),其中前三个是必要的,而 Packaging 属性为可选项,这四个属性主要为每个项目在 maven 仓库中做一个标识。
- GVA 遵循的规则:
- GroupID 格式:com.{公司/BU}.业务线.[子业务线],最多 4 级
- ArtifactID 格式:产品线名-模块名。语义不重复不遗漏,先到仓库中心去查证一下
- Version 版本号格式推荐:主版本号.次版本号.修订号
- 主版本号:当做了不兼容的API修改,或者增加了能改变产品方向的新功能
- 次版本号:当做了向下兼容的功能性新增(新增类、接口等)
- 修订号:修复bug,没有修改方法签名的功能加强,保持 API 兼容性
例:com.taobao.tddl
例:tc-client / uic-api / tair-tool / bookstore
例:初始 → 1.0.0 修改 bug → 1.0.1 功能调整 → 1.1.1 等
- Packaging 定义规则:
- 指示将项目打包为什么类型的文件,IDEA 根据 packaging 值,识别 maven 项目类型
- 属性为 jar(默认值),代表普通的 Java 工程,打包以后是 jar 结尾的文件
- 属性为 war,代表 Java 的 web 工程,打包以后 .war 结尾的文件
- 属性为 pom,代表不会打包,用来做继承的父工程