全部学科
Python全栈
python
NodeJS全栈
nodejs
📝 1 篇文章 20 道配套习题

POM 配置详解专题

专题说明

本专题深入讲解 pom.xml 文件这一 Maven 项目的核心配置文件,涵盖基础结构、项目信息、构建配置、继承与聚合、属性与变量替换等关键模块,帮助学习者全面掌握 Maven 项目定义的每一个细节。

学习目标

  1. 理解 pom.xml 的基础结构与层级关系
  2. 掌握项目信息配置元素(name、description、licenses 等)
  3. 熟悉构建配置中的 plugins、resources、finalName 等配置
  4. 掌握继承(parent)与聚合(modules)机制的使用方法
  5. 熟练运用属性(properties)与变量替换实现配置复用

学习内容

  • pom.xml 基础结构:根元素、modelVersion、必需与可选元素
  • 项目信息配置:name、description、url、organization、licenses
  • 构建配置基础:build、plugins、pluginManagement、resources
  • 继承与聚合:parent、modules、aggregator pom 设计模式
  • 属性与变量替换:properties 定义、${} 引用、内置属性

学习建议

  1. 对照一个真实项目的 pom.xml 逐行阅读理解
  2. 重点练习继承配置,这是多模块项目的核心
  3. 属性替换要理解变量的优先级覆盖规则
  4. 注意 pom.xml 的 XML 语法正确性,标签闭合与嵌套

📝 配套习题(20 题)

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

使用 modules 标签进行多模块聚合构建时,父项目的 packaging 类型必须设置为 pom。

A

B

2

Maven 的聚合和继承可以同时存在,一个 POM 文件既可以作为 aggregator 聚合多个模块,也可以作为 parent 提供配置继承。

A

B

3

POM 文件中的 name 和 description 标签仅用于文档生成,不会影响项目的构建过程。

A

B

4

POM 文件中 groupId、artifactId、version 三个元素是必须配置的,缺少任何一个都会导致构建失败。

A

B

5

在 POM 中配置资源文件过滤后,Maven 会在复制资源文件时替换文件中占位符变量的值。

A

B

6

Maven 提供了 project.version、project.groupId 等内置属性,可以在资源配置中直接使用。

A

B

单选题
7

Maven 的 POM 文件中,根元素的名称是什么?

A

maven

B

project

C

pom

D

model

8

以下哪个不是 Maven 项目支持的包装类型 (packaging)?

A

jar

B

war

C

exe

D

pom

9

POM 文件中 <scm> 标签用于配置什么信息?

A

项目的依赖管理

B

项目的源码管理系统

C

项目的构建插件

D

项目的测试配置

10

Maven 项目默认的源码目录是哪个?

A

src/java

B

src/main/java

C

src/source/java

D

src/code

11

在 POM 文件中引用自定义属性的正确语法是什么?

A

$(property.name)

B

${property.name}

C

#{property.name}

D

@property.name@

12

在 Maven 子模块中,使用哪个标签指定父 POM 的坐标?

A

<parent>

B

<inherits>

C

<super>

D

<base>

多选题
13

在 POM 文件中,以下哪些标签可以用于配置项目相关的元数据信息?

A

developers

B

licenses

C

organization

D

contributors

14

子模块可以从父 POM 继承以下哪些配置?

A

dependencies

B

build/plugins

C

properties

D

modules

15

在 POM 的 build/resources 配置中,可以指定以下哪些内容?

A

资源文件目录

B

目标输出目录

C

是否启用过滤

D

包含或排除的文件模式

填空题
16

在 POM 中,____________ 标签用于配置编译后的 class 文件输出目录,默认值为 ____________

17

Maven 属性可以在三个地方定义:POM 中的 ____________ 标签、settings.xml 中的 ____________ 配置、以及通过命令行的 ____________ 参数传入。

18

pom.xml 文件中,用于唯一标识项目的三个核心坐标元素分别是 ____________________________________

19

在 POM 文件中,____________ 标签用于指定 POM 模型的版本号,目前 Maven 3.x 固定值为 ____________

20

在 pom.xml 中使用 ____________ 标签定义自定义属性,资源配置中通过 ____________ 语法引用属性值实现变量替换。

参考答案
1.正确 2.正确 3.正确 4.正确 5.正确 6.正确 7.B 8.C 9.B 10.B 11.B 12.A 13.A;B;C;D 14.A;B;C 15.A;B;C;D 16.outputDirectory;target/classes 17.properties;profile;-D 18.groupId;artifactId;version 19.modelVersion;4.0.0 20.properties;${propertyName}
想在手机上练习这套专题?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码
← 上一个专题 Maven 基础概念专题
下一个专题 → Profile 与环境管理
扫码体验小程序
加载中
想在手机上刷题学习?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码