第 4 章 多模块与仓库治理:把经验变成建制 本章要回答的三个问题: 项目长到几十万行后怎么拆?多模块的聚合与继承各管什么,Reactor 按什么顺序构建? 本地仓库与远程仓库怎么治理才不会变成垃圾场?SNAPSHOT 与 RELEASE 的存放策略有何不同? 私服为什么是团队刚需?Nexus 与 Artifactory 怎么选型? 为什么会有这一章 第 3 章的仲裁制度建立在一个前提上:有一个所有模块都认的中央。当 risk-engine 从单模块长成八模块的工程族、团队从三人长到三十人,这个"中央"必须落在工程结构(父 POM 与多模块)与基础设施(私服与仓库治理)两处。单项目时代靠个人习惯维持的秩序,多项目时代必须变成建制。 本章的顺序就是建制的顺序:先把代码组织好(4.
本章要回答的三个问题:
- 项目长到几十万行后怎么拆?多模块的聚合与继承各管什么,Reactor 按什么顺序构建?
- 本地仓库与远程仓库怎么治理才不会变成垃圾场?SNAPSHOT 与 RELEASE 的存放策略有何不同?
- 私服为什么是团队刚需?Nexus 与 Artifactory 怎么选型?
第 3 章的仲裁制度建立在一个前提上:有一个所有模块都认的中央。当 risk-engine 从单模块长成八模块的工程族、团队从三人长到三十人,这个"中央"必须落在工程结构(父 POM 与多模块)与基础设施(私服与仓库治理)两处。单项目时代靠个人习惯维持的秩序,多项目时代必须变成建制。
本章的顺序就是建制的顺序:先把代码组织好(4.1 多模块),再管好本机与远程的存放地(4.2 仓库治理),然后建设统一补给线(4.3 私服选型),最后打通配置通道(4.4 settings 通道与排错)。每一节都是前一章制度的物理落点。

| 节号 | 回答哪个问题 | 关键产出 |
|---|---|---|
| 4.1 POM 规范与多模块治理 | 代码怎么组织 | 多模块拆分方案与 Reactor 裁剪命令 |
| 4.2 仓库管理与本地缓存卫生学 | 存放地怎么治理 | 仓库策略表与缓存清创流程 |
| 4.3 私服选型:Nexus 与 Artifactory | 补给线怎么建 | 三类仓库配置与选型对比矩阵 |
| 4.4 settings.xml 命令通道 | 配置怎么流到机器 | 三段作用顺序与故障定位表 |
怎么判断一个团队的仓库建制"完成了"?三个可测量的口径:新模块接入耗时(从建目录到第一个可构建的 POM,半小时内为达标);新人首日可构建(入职第一天能独立跑通全量构建,说明文档与配置通道无暗坑);全队版本裁决一致(任何人在任何模块打同名构件的依赖树,胜出版本相同)。第 3 章的 enforcer 门禁保证了第三条的机器执行,本章其余各节服务前两条。三条口径每半年实测一次,退化即返工。
顺带排除一个常见误会:建制不等于"配置变多"。恰恰相反——第 3.3 与 4.1 节的中央仲裁建成后,子模块的 POM 越来越薄、开发者的本地配置越来越少,这就是"制度在中央、自由在末端"的健康形态。若你的多模块化让每个模块都更难读懂了,方向多半反了。
建制完成后,工程与仓库都已就绪。第 5 章把这套体系搬进持续集成流水线:让每次提交自动构建、自动验证质量,并处理随之而来的性能与内存新战场。