Maven 面试问题

2025年3月16日 | 阅读3分钟

下面列出了最常问的 Maven 面试问题和答案。


1) 什么是 Maven?

Maven 是一个项目管理工具。它基于 POM (项目对象模型)。更多详情。


2) Maven 管理哪些方面?

  • 构建
  • 文档
  • 报告
  • SCMs
  • 发布
  • 分发
更多详情。

3) Maven 有哪些优点?

  • 无需在每个项目中添加 jar 文件
  • 创建正确的目录结构
  • 构建和部署项目
更多详情。

4) 检查 Maven 版本的命令是什么?

在控制台上输入以下命令即可查看 Maven 版本。

更多详情。

5) 构建工具的作用是什么?

  • 生成源代码(如果使用自动生成的代码)
  • 从源代码生成文档
  • 编译源代码
  • 将编译后的代码打包成 JAR 或 ZIP 文件
  • 将打包后的代码安装到本地仓库、服务器仓库或中央仓库
更多详情。

6) Ant 和 Maven 有什么区别?

AntMaven
Ant 是一个工具箱Maven 是一个框架
Ant 主要是一个构建工具Maven 主要是一个项目管理工具
Ant 没有生命周期Maven 有生命周期
Ant 没有正式的约定Maven 有约定来放置源代码、编译代码等。
Ant 是过程式的。Maven 是声明式的。
Ant 脚本不可重用Maven 插件可重用
更多详情。

7) 为什么 Maven 中需要使用配置文件 (profile)?

为了给项目提供概率,我们使用配置文件。


8) 离线创建项目的语法是什么?

项目创建的语法是

 

mvn o packg。


9) 如何阻止插件传播到子 POM?

可以使用以下语法完成:


10) 排除元素 (exclusion element) 的作用是什么?

该元素用于排除依赖项。


11) 用 Maven 的术语定义 SNAPSHOT。

快照 (snapshot) 表示当前的开发副本。


12) 定义 Archetype。

它是一个 Maven 插件,旨在创建项目结构。


7. 中央仓库包含什么?

它包含大量常用库。


13) 给出在本地仓库中安装 JAR 文件的命令。

mvn install


14) 提及清理生命周期的阶段。

清理生命周期包括:

  • pre-clean (预清理)
  • clean
  • post-clean (后清理)

15) mvn clean 命令的目的是什么?

该命令在构建过程开始之前删除 target 目录。


16) 什么是 MOJO?

MOJO 代表 Maven plain Old Java Object(Maven 普通旧 Java 对象)。每个 MOJO 都是 Maven 中一个可执行的目标,而插件是一个或多个相关 MOJO 的集合。


17) 什么是仓库 (repository)?

仓库是存储所有 jar 包和 pom.xml 文件的目录或位置。Maven 中有 3 种类型的仓库:

  1. 本地仓库
  2. 中央仓库
  3. 远程仓库
更多详情。

18) 什么是本地仓库?

当您运行任何 Maven 命令时,Maven 会在您的本地系统中创建 Maven 本地仓库。更多详情。


19) 什么是中央仓库?

Maven 社区在网上创建了 Maven 中央仓库。更多详情。


20) 什么是远程仓库?

Maven 远程仓库由不同的供应商放置在网上。因此,您需要手动在 pom.xml 文件中定义依赖项。这很重要,因为大多数库在中央仓库中缺失。更多详情。


21) 什么是 POM?

POM 代表 Project Object Model(项目对象模型)。pom.xml 文件包含项目信息和项目配置。更多详情。


22) Maven 中的构建阶段有哪些?

  1. validate
  2. compile (编译)
  3. 测试
  4. package
  5. integration-test (集成测试)
  6. verify
  7. 安装
  8. deploy

23) 打包 Maven 项目的命令是什么?


24) Maven 项目的完全限定 artifact 名称是什么?


25) 什么是 archetype?

Archetype 是 Maven 插件。它创建项目结构。