title: 工程化构建与依赖管理
tags:
- module
- engineering
- maven
- dependency
- joplin
type: module
source_type: reconstructed
created: 2026-04-23
updated: 2026-04-23
---
工程化构建与依赖管理
[!abstract]
这一模块处理“项目为什么不能只靠手工拷文件和单工程开发”的问题,核心是 [[Maven]] 及其分模块与构建能力。
模块结论
- 工程化的本质是让项目结构、依赖和构建过程可管理、可复用、可扩展。
- [[Maven]] 虽然主要用于 Java 项目,但它承载的依赖管理、统一结构和构建流程思路,是整个 Web 开发链路中的工程化核心。
- 当项目规模扩大后,[[Maven分模块设计]]、继承、聚合和仓库管理会变得比单模块语法更重要。
一、为什么需要工程化
- 手工复制 jar 包难以管理
- 依赖版本容易冲突
- 项目结构容易混乱
- 编译、测试、打包、发布重复成本高
二、Maven 在解决什么问题
复习重点
pom.xml 不只是配置文件,它是项目对象模型入口
- 坐标决定依赖的唯一标识
- 仓库机制决定依赖如何被解析和下载
三、为什么分模块是工程化升级点
- 单工程随着业务扩张会越来越难维护
- 可复用组件难以独立抽取
- 多人协作边界模糊
分模块带来的变化
- 按功能或结构拆分子模块
- 模块之间通过依赖协作
- 公共组件可被复用
四、继承与聚合的意义
- 继承:统一依赖与配置
- 聚合:统一管理多个模块的构建
这两者解决的不是业务问题,而是项目规模扩大后的工程管理问题。
五、为什么这一模块要放进“前端与工程化”
- 因为现代 Web 开发不是只有页面代码
- 页面、接口、依赖、模块、构建、部署最终都要进入一个工程体系
- 工程化能力本来就是跨前端和后端的共同底座
六、易错点
- 把 Maven 只当作“Java 依赖下载工具”。
- 只会改依赖,不理解仓库、生命周期和项目结构。
- 等项目写完再考虑分模块,而不是先做结构设计。
七、复习提问
- Maven 的三大核心作用分别是什么?
- 为什么分模块设计在大项目里几乎是必需品?
- 继承与聚合分别解决什么问题?
来源
- [[raw/Joplin/编程学习项目/Java学习笔记/JavaWeb/4.Maven.md]]
- [[raw/Joplin/编程学习项目/Java学习笔记/JavaWeb/17.Maven高级.md]]
相关页面
- [[前端与工程化]]
- [[Maven]]
- [[Maven分模块设计]]