工程化构建与依赖管理.md 2.6 KB


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