Maven 简介

Maven 简介

Apache Maven 是一个开源的 Java 项目构建和管理工具,由 Apache 软件基金会维护。它帮助开发者自动化构建、依赖管理、测试、打包、发布等整个项目生命周期。

官方网址:https://maven.apache.org


一、Maven 是什么?

问题回答
Maven 是啥?一个项目管理工具,主要用于 Java 项目
核心功能?构建(Build) + 依赖管理(Dependency Management)
核心文件?pom.xml(Project Object Model)
口号?“约定优于配置”(Convention over Configuration)

二、Maven 解决什么问题?

传统开发问题Maven 解决方案
JAR 包到处找、手动导入自动从中央仓库下载依赖
依赖版本冲突传递性依赖 + 版本锁定
编译、打包、测试命令不统一标准生命周期命令(如 mvn package
项目结构混乱强制标准目录结构
团队协作构建不一致统一 pom.xml 配置

三、Maven 的两大核心

1. POM(Project Object Model)

  • 一个 XML 文件:pom.xml
  • 定义项目信息、依赖、插件、构建方式
  • 是 Maven 的灵魂
<groupId>com.example</groupId>      <!-- 组织名 -->
<artifactId>my-app</artifactId>     <!-- 项目名 -->
<version>1.0.0</version>            <!-- 版本号 -->
<packaging>jar</packaging>          <!-- 打包类型:jar/war/pom -->

这四个元素构成 GAV 坐标,唯一标识一个构件(artifact)


2. 构建生命周期(Build Lifecycle)

Maven 定义了 三套标准生命周期

生命周期主要阶段
defaultcompiletestpackageinstalldeploy
cleanclean(删除 target 目录)
site生成项目文档站点

运行 mvn package 会自动执行:
validate → compile → test → package


四、Maven 的“约定优于配置”

目录用途
src/main/java主 Java 代码
src/main/resources配置文件、properties、xml
src/test/java单元测试代码
src/test/resources测试资源
target/编译、打包输出(自动生成)

你只需遵循结构,Maven 自动知道怎么做!


五、依赖管理(超级强大!)

<dependency>
  <groupId>com.fasterxml.jackson.core</groupId>
  <artifactId>jackson-databind</artifactId>
  <version>2.17.2</version>
</dependency>

Maven 自动完成:

  1. 下载 jackson-databind-2.17.2.jar
  2. 下载它的传递性依赖(如 jackson-core)
  3. 放入 target/classes 和本地仓库
  4. 提供类路径给编译/运行

六、本地仓库 & 中央仓库

仓库说明
本地仓库默认:~/.m2/repository/,缓存下载的 JAR
中央仓库https://repo.maven.apache.org
镜像仓库推荐使用 阿里云镜像 加速
<!-- settings.xml 中配置阿里云镜像 -->
<mirror>
  <id>aliyunmaven</id>
  <mirrorOf>*</mirrorOf>
  <name>阿里云公共仓库</name>
  <url>https://maven.aliyun.com/repository/public</url>
</mirror>

七、Maven vs Ant vs Gradle

工具特点
Ant脚本式,灵活但配置繁琐
Maven约定式,POM 驱动,依赖管理强
Gradle脚本式(Groovy/Kotlin),更灵活,构建快

新手推荐 Maven:学习成本低、生态完善


八、Maven 常用命令(一行搞定!)

mvn compile          # 编译
mvn test             # 运行测试
mvn package          # 打包成 JAR/WAR
mvn clean            # 清理 target
mvn install          # 安装到本地仓库
mvn dependency:tree  # 查看依赖树

九、Maven 的优势总结

优势说明
依赖自动管理一行 <dependency> 搞定
统一构建方式所有项目用相同命令
插件生态丰富3000+ 插件(打包、报告、部署)
多模块支持大型项目分模块管理
与 IDE 深度集成IDEA、Eclipse 一键导入

十、一句话总结

Maven = POM + 生命周期 + 依赖管理 + 约定结构


下一步建议
运行下面命令,10 秒创建一个标准 Maven 项目:

mvn archetype:generate -DgroupId=com.example -DartifactId=hello-maven \
  -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

然后打开 pom.xml,你会发现一切都已准备好!


需要 Maven 安装步骤IDEA 中使用 Maven?继续问我!

类似文章

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注