一、为什么需要构建工具?
在理解 Maven/Gradle 之前,先明确它们解决的问题:
- 依赖管理:项目中可能需要引入第三方库(如 Spring、JUnit 等),手动下载和管理这些库的版本非常麻烦。
- 标准化构建流程:编译代码、运行测试、打包成 JAR/WAR 文件等步骤需要自动化。
- 插件扩展:支持通过插件扩展功能(如代码检查、部署到服务器等)。
二、Maven 详解
1. 核心概念
- POM 文件:项目根目录的
pom.xml
是 Maven 的核心配置文件,定义了项目的依赖、构建步骤等信息。 - 坐标(Coordinates):通过
groupId
,artifactId
,version
唯一标识一个依赖。 - 仓库(Repository):
- 本地仓库:默认在用户目录下的
.m2
文件夹,缓存已下载的依赖。 - 中央仓库:Maven 官方维护的公共仓库(repo.maven.apache.org)。
- 私有仓库:公司内部搭建的仓库(如 Nexus、Artifac
- 本地仓库:默认在用户目录下的