首页/ 学科题库/ maven/ 依赖管理基础专题测试
maven 模拟试卷

依赖管理基础专题测试

15 题 30 分钟 难度:★
  • 依赖声明与坐标引用(dependencies 标签、GAV 三要素、dependencyManagement 中的版本省略)
  • 依赖范围详解(compile/provided/runtime/test 范围及其打包行为)
  • 传递性依赖机制(自动引入、scope 影响、dependency:tree 查看方法)
  • 依赖排除与排除策略(exclusions 标签使用、避免类路径污染与版本冲突)
  • 依赖版本冲突解决(最短路径优先、声明优先、dependencyManagement 统一管理)

试卷习题(15 题)

参考答案在文末
判断题
1
判断题

如果不指定依赖范围,则依赖默认为 compile 范围,会被包含在编译、测试和运行时的 classpath 中。

A

对

B

错

2
判断题

Maven 项目的所有外部依赖都必须在 POM 文件的 dependencies 标签内声明。

A

对

B

错

3
判断题

在 pom.xml 的 dependencies 元素中,每个 dependency 必须声明 groupId、artifactId 和 version 三个坐标要素。

A

对

B

错

4
判断题

使用 dependencyManagement 可以统一管理传递依赖的版本,即使在不同子模块中声明也会被覆盖。

A

对

B

错

单选题
5
单选题

在 POM 中使用 exclusions 排除传递依赖时,exclusions 标签应该放在哪里?

A

放在 dependencies 标签下

B

放在需要排除的 dependency 标签内

C

放在 dependencyManagement 标签下

D

放在 properties 标签下

6
单选题

项目 A 依赖 B,B 依赖 C。如果 A 未直接声明对 C 的依赖,会发生什么?

A

编译失败,找不到 C

B

C 会自动作为传递依赖被引入

C

需要手动在 A 中声明 C

D

只在测试时引入 C

7
单选题

以下哪项不是 Maven 依赖坐标的必需元素?

A

groupId

B

artifactId

C

version

D

scope

8
单选题

当存在多个版本的同一依赖时,Maven 默认使用哪个版本?

A

最新版本

B

最早声明的版本

C

依赖树中路径最短的版本

D

依赖树中路径最长的版本

9
单选题

以下哪种依赖范围的依赖在编译和测试时都需要,但在运行时不需要?

A

compile

B

provided

C

runtime

D

test

多选题
10
多选题

以下哪些依赖范围的依赖会被包含在最终打包产物中(如 war 的 WEB-INF/lib)?

A

compile

B

provided

C

runtime

D

test

11
多选题

关于 Maven 的传递性依赖,以下说法正确的有哪些?

A

传递依赖的版本冲突需要手动解决

B

可以通过 mvn dependency:tree 查看传递依赖

C

传递依赖的 scope 可能会被修改

D

可以在 dependencyManagement 中统一管理传递依赖版本

填空题
12
填空题

JUnit 等测试框架的依赖范围应该设置为 ,因为这类依赖仅在 阶段需要,不会被打包到生产产物中。

13
填空题

使用依赖排除的主要目的是避免 和 ,确保项目使用正确版本的库。

14
填空题

Maven 解决版本冲突的两个主要策略是:(优先选择依赖树中路径最短的版本)和 (路径相同时优先选择 POM 中先声明的版本)。

15
填空题

在 POM 中声明依赖时, 标签内可以包含多个 子标签,每个子标签代表一个外部依赖。

参考答案
1.正确 2.正确 3.错误 4.正确 5.B 6.B 7.D 8.C 9.B 10.A;C 11.A;B;C;D 12.test;测试 13.类路径污染;版本冲突 14.最短路径优先;声明优先 15.dependencies;dependency
想在手机上在线作答这套卷子?
使用微信 卷王开发者小程序/App,首页顶部扫一扫识别二维码,即可限时作答并自动判分。
了解产品 App
← 上一套 企业级仓库管理专题测试 下一套 → 依赖高级特性专题测试