跳转至

Maven 的作用与原理

一、作用

  • 项目构建:编译、测试、打包。
  • 依赖管理:自动下载 jar。
  • 项目结构统一。

二、核心概念

1. POM

pom.xml 描述项目:

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>5.3.0</version>
</dependency>

2. 仓库

  • 本地仓库:~/.m2/repository。
  • 中央仓库:Maven 官方。
  • 远程仓库:公司私服。

3. 生命周期

  • clean:清理。
  • compile:编译。
  • test:测试。
  • package:打包。
  • install:装到本地仓库。
  • deploy:发布到远程。

三、原理

依赖查找

  1. 本地仓库有?用。
  2. 没有?去中央仓库/远程仓库下。
  3. 下载到本地,下次用。

依赖传递

A 依赖 B,B 依赖 C,A 自动有 C。

依赖冲突

  • 最近路径优先。
  • 同路径先声明优先。

四、常用命令

mvn clean install
mvn package -DskipTests
mvn dependency:tree

五、为什么用

  • 不用手动下 jar。
  • 版本统一。
  • 构建标准化。

面试一句话

Maven = 项目对象模型 + 依赖管理 + 生命周期。