全部学科
Python全栈
python
NodeJS全栈
nodejs
小程序首页
📝 1 篇文章 15 道配套习题

生命周期与插件专题

专题说明

本专题深入讲解 Maven 的核心运行机制——生命周期与插件体系,涵盖 clean/default/site 三大生命周期的阶段划分、阶段与插件目标的绑定关系、常用内置插件配置以及自定义插件扩展方式,帮助学习者理解 Maven 构建流程的底层逻辑。

学习目标

  1. 理解 Maven 三大生命周期的概念与阶段组成
  2. 掌握生命周期阶段与插件目标的绑定机制
  3. 熟悉 maven-compiler-plugin、maven-surefire-plugin 等常用内置插件
  4. 掌握插件配置的基础语法(goals、configuration、executions)
  5. 能够通过命令行执行插件目标并理解执行过程

学习内容

  • 三大生命周期:clean(清理)、default(构建)、site(站点生成)
  • 生命周期阶段绑定:插件目标与阶段的关联、默认绑定机制
  • 常用内置插件:compiler、resources、surefire、jar、war 插件
  • 插件配置基础:goals、configuration、executions 配置方式
  • 插件命令执行:命令行调用、skip 参数、绑定到特定阶段

学习建议

  1. 先理解生命周期概念,再学习插件配置,两者密不可分
  2. 注意区分"生命周期阶段"和"插件目标"两个概念
  3. mvn compile 实际是触发 default 生命周期到 compile 阶段
  4. 多使用 mvn help:effective-pom 查看插件的最终配置

📝 发现内容有误?点击此处直接编辑

📝 配套习题(15 题)

1
单选题

Maven 定义了几个独立的生命周期?

A

1 个

B

2 个

C

3 个

D

4 个

2
判断题

clean 生命周期包含 pre-clean、clean、post-clean 三个阶段,用于清理构建输出。

A

B

3
多选题

以下哪些属于 default 生命周期的阶段?

A

validate

B

compile

C

test

D

deploy

4
单选题

将插件目标绑定到生命周期阶段的配置在 POM 的哪个部分?

A

build/plugins

B

dependencies

C

properties

D

repositories

5
判断题

当执行 mvn package 命令时,Maven 会先自动执行 compile、test 等前面的阶段。

A

B

6
填空题

在 default 生命周期中,_______ 阶段绑定 maven-compiler-plugin 的 compile 目标,______ 阶段绑定 maven-surefire-plugin 的 test 目标。

7
单选题

如果 POM 中没有配置 packaging 类型,Maven 默认使用哪个插件进行打包?

A

maven-war-plugin

B

maven-jar-plugin

C

maven-ear-plugin

D

maven-pom-plugin

8
判断题

maven-compiler-plugin 插件负责将 Java 源码编译为 class 文件。

A

B

9
多选题

以下插件与功能对应正确的是哪些?

A

maven-surefire-plugin: 运行单元测试

B

maven-war-plugin: 打包 Web 应用为 war

C

maven-install-plugin: 安装到本地仓库

D

maven-deploy-plugin: 发布到远程仓库

10
单选题

在 POM 中配置插件参数时,使用哪个标签包裹配置内容?

A

<config>

B

<configuration>

C

<params>

D

<options>

11
判断题

在 POM 中配置插件时,建议显式指定插件版本,以避免因插件版本升级导致构建行为变化。

A

B

12
填空题

maven-compiler-plugin 插件常用的配置参数包括:______(指定源码 JDK 版本)和 ______(指定编译目标 JDK 版本)。

13
单选题

使用命令行直接执行插件目标的正确格式是什么?

A

mvn plugin.goal

B

mvn plugin:goal

C

mvn plugin-goal

D

mvn goal:plugin

14
判断题

使用 mvn plugin:goal 命令执行插件目标时,不会触发任何生命周期阶段。

A

B

15
多选题

以下哪些命令可以用于直接执行插件目标(而非执行生命周期阶段)?

A

mvn dependency:tree

B

mvn compiler:compile

C

mvn package

D

mvn help:effective-pom

← 上一个专题 源码分析与底层原理专题

📝 发现内容有误?点击此处直接编辑

想查看更多习题和详细解析?
小程序提供完整的题库和详细解析

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库