--- 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分模块设计]]