当前位置:  开发笔记 > 编程语言 > 正文

大型Maven项目的存储库布局

如何解决《大型Maven项目的存储库布局》经验,为你挑选了1个好方法。

我有一个大型应用程序(约50个模块)使用类似于以下的结构:

应用

通讯模块

彩色通信模块

SSN通信模块

等通信模块

路由器模块

服务模块

投票服务模块

用于投票的Web界面子模块

投票收集器子模块进行投票

等投票

测验服务模块

等模块

我想将应用程序导入Maven和Subversion.经过一些研究后,我发现存在两种实用的方法.

一个是使用树结构,就像前一个一样.这种结构的缺点是你需要大量的调整/黑客才能使多模块报告与Maven一起工作.另一个缺点是在Subversion中,标准的trunk/tags/branches方法为存储库增加了更多的复杂性.

另一种方法使用扁平结构,其中只有一个父项目,所有模块,子模块和子模块部分都是父项目的直接子项.这种方法适用于报告,并且在Subversion中更容易,但是我觉得我这样失去了一些结构.

从长远来看,你会选择哪种方式?为什么?



1> Boris Terzic..:

我们有一个很大的应用程序(160多个OSGi捆绑包,其中每个捆绑包都是Maven模块),我们学到并继续学习的经验教训是,平面更好.层次结构中编码语义的问题是您失去了灵活性.今天100%说"通信"的模块明天可能部分是"服务",然后你需要在你的存储库中移动东西,这将破坏各种脚本,文档,引用等.

所以我建议使用平面结构并在另一个地方编码语义(比如说IDE工作区或文档).

我已经回答了一个关于版本控制布局的问题,并在另一个问题上提供了示例,这可能与您的情况有关.

推荐阅读
郑谊099_448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有