【发布时间】:2010-09-06 09:47:03
【问题描述】:
我有一个大型应用程序(约 50 个模块),其结构类似于以下:
- 应用
- 通讯模块
- 彩色通讯模块
- SSN 通讯模块
- 等。通讯模块
- 路由器模块
- 服务模块
- 投票服务模块
- 用于投票的 Web 界面子模块
- 投票收集器子模块
- 等。投票
- 测验服务模块
- 等。模块
- 投票服务模块
- 通讯模块
我想将应用程序导入 Maven 和 Subversion。经过一些研究,我发现有两种实用的方法可以解决这个问题。
其中一个与前一个一样使用树结构。这种结构的缺点是您需要大量的调整/修改才能使多模块报告与 Maven 一起工作。另一个缺点是在 Subversion 中,标准的 trunk/tags/branches 方法给存储库增加了更多的复杂性。
另一种方法使用扁平结构,其中只有一个父项目,所有模块、子模块和部分子模块都是父项目的直接子项目。这种方法适用于报告,并且在 Subversion 中更容易,但是我觉得这样我失去了一些结构。
从长远来看,您会选择哪种方式,为什么?
【问题讨论】: