全部学科
Python全栈
python
NodeJS全栈
nodejs
小程序首页

Maven中级技能认证试卷

27 题 约40分钟 分钟 难度:

考察知识点

  1. CI/CD集成 - Jenkins 集成、GitLab CI、自动化构建流程、持续交付最佳实践
  2. Profile与环境管理 - 多环境配置、Profile 激活方式、环境变量管理、构建环境隔离
  3. 仓库管理与发布 - 仓库配置、构件发布、Nexus 使用、SNAPSHOT 管理
  4. 依赖高级特性 - 依赖排除、依赖版本管理、BOM、依赖冲突解决、可选依赖
  5. 多模块项目管理 - 父子模块、聚合构建、模块间依赖、Reactor 构建顺序
  6. 常见问题排查 - 构建失败定位、依赖冲突诊断、仓库问题排查、性能问题诊断
  7. 插件开发与配置 - 插件配置、自定义插件、插件目标绑定、插件参数配置
  8. 构建优化与配置 - 并行构建、构建缓存、增量编译、构建性能优化策略
  9. 测试集成 - Surefire/Failsafe 插件、代码覆盖率(JaCoCo)、测试跳过策略、测试报告
1
判断题

在 Jenkins Pipeline 中,可以使用 sh 'mvn clean install' (Linux)或 bat 'mvn clean install' (Windows)来执行 Maven 构建。

A

B

2
单选题

在 Jenkins Pipeline 中集成 Maven 构建,推荐将构建流程分为哪些阶段?

A

checkout、build、test、deploy

B

init、compile、run、finish

C

pull、build、push

D

以上都可以,根据项目需求自定义

3
多选题

在 .gitlab-ci.yml 中配置 Maven 构建,以下哪些是有效的配置元素?

A

image - 指定执行构建的 Docker 镜像

B

stage - 定义流水线阶段

C

script - 定义执行的命令列表

D

cache - 配置缓存以加速构建

7
判断题

Nexus Repository Manager 可以作为 Maven 私有仓库,用于代理中央仓库和托管公司内部构件。

A

B

8
单选题

Nexus Repository Manager 中,哪种仓库类型用于缓存和代理远程仓库(如 Maven Central)?

A

hosted(托管仓库)

B

proxy(代理仓库)

C

group(仓库组)

D

virtual(虚拟仓库)

9
多选题

关于 Maven SNAPSHOT 版本依赖,以下说法正确的有?

A

SNAPSHOT 依赖会每次构建时检查远程仓库是否有更新

B

可以使用 -U 参数强制更新 SNAPSHOT 依赖

C

SNAPSHOT 版本的更新频率可以通过 settings.xml 配置

D

生产环境应尽量避免使用 SNAPSHOT 依赖

10
判断题

在 Maven 中导入 BOM(Bill of Materials)时,需要将 scope 设置为 import 且 type 设置为 pom。

A

B

11
单选题

Spring Boot 提供的 BOM 的 artifactId 是什么?

A

spring-boot-starter-parent

B

spring-boot-dependencies

C

spring-boot-bom

D

spring-boot-core

12
多选题

关于 Maven 特殊版本关键字,以下说法正确的有?

A

LATEST 指远程仓库中最新的任何版本(包括预发布版本)

B

RELEASE 指远程仓库中最新的正式版本(排除预发布版本)

C

SNAPSHOT 表示这是一个开发中的版本,每次构建可能产生不同内容

D

从 Maven 3.x 开始,LATEST 和 RELEASE 已被弃用,不推荐使用

13
判断题

在 Maven 多模块项目中,aggregator POM 的 packaging 类型必须是 pom。

A

B

14
单选题

在 Maven 多模块项目中,以下哪个元素用于在父 POM 中声明包含的子模块?

A
B
C
D
15
多选题

关于 Maven 多模块项目中的模块间依赖管理,以下说法正确的有?

A

模块间不应出现循环依赖

B

可以通过 groupId 和 artifactId 引用同项目的其他模块

C

模块间依赖版本必须手动指定,不能使用父 POM 管理的版本

D

Maven 反应堆会自动计算模块构建顺序以满足依赖关系

16
判断题

使用 mvn dependency:tree 命令可以查看项目的完整依赖树,帮助诊断依赖冲突问题。

A

B

17
单选题

使用 mvn dependency:tree 命令时,如何标识出版本冲突的依赖?

A

使用冲突符号标注冲突版本

B

使用 -Dverbose 参数输出详细依赖树

C

使用 -Dconflicts 参数仅输出冲突项

D

使用 -X 参数启用调试模式

18
多选题

解决 Maven 依赖冲突的有效方法有哪些?

A

在 dependencyManagement 中锁定冲突依赖的版本

B

使用 exclusions 排除不需要的传递依赖

C

直接修改依赖声明,指定所需版本

D

运行 mvn dependency:analyze 分析未使用的依赖

19
判断题

在 Maven POM 中,configuration 块可以直接放在 plugin 元素下,也可以放在 execution 元素下,两者的作用范围相同。

A

B

20
单选题

Maven 插件中 execution 元素主要用于什么?

A

声明插件的版本号

B

控制插件目标绑定到哪个生命周期阶段及配置参数

C

排除不需要的插件目标

D

声明插件的依赖

21
多选题

以下哪些是 Maven 常用的第三方插件?

A

maven-shade-plugin - 打包 fat-jar

B

maven-assembly-plugin - 自定义打包格式

C

maven-source-plugin - 打包源码

D

maven-gpg-plugin - GPG 签名验证

22
判断题

Maven 资源过滤功能可以将 POM 中定义的属性值替换到资源文件中的占位符位置。

A

B

23
单选题

在 Maven POM 中,如何启用资源目录的过滤功能?

A

在 resources 中设置 filtering 为 true

B

在 build 中设置 filter 为 true

C

在 properties 中设置 enableFiltering 为 true

D

在 plugins 中添加 filter-plugin

24
多选题

关于 maven-surefire-plugin 配置测试包含排除规则,以下说法正确的有?

A

使用 includes 配置包含的测试类模式

B

使用 excludes 配置排除的测试类模式

C

默认只执行命名匹配 /Test.java、/*Test.java、*/*Tests.java 的测试

D

可以在命令行使用 -Dtest 参数覆盖包含排除规则

25
判断题

Maven 默认使用 maven-surefire-plugin 执行单元测试,无需额外配置即可运行 JUnit 测试。

A

B

26
单选题

以下哪个 Maven 插件用于生成测试覆盖率报告?

A

maven-surefire-report-plugin

B

jacoco-maven-plugin

C

maven-site-plugin

D

maven-pmd-plugin

27
多选题

关于 Maven 集成测试的生命周期,以下说法正确的有?

A

集成测试在 integration-test 阶段执行

B

pre-integration-test 阶段可用于启动测试环境

C

post-integration-test 阶段可用于关闭测试环境

D

verify 阶段用于检查集成测试是否通过

← 上一个试卷 IDE集成与开发专题测试
下一个试卷 → Maven基础概念专题测试

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

想参加完整模拟考试?
小程序提供计时考试、自动评分和详细解析

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

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