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