我手头有一个相当大的(几个 MLOC)应用程序,我想将其拆分为更易于维护的独立部分。目前该产品由大约 40 个 Eclipse 项目组成,其中许多项目具有相互依赖关系。仅此一项就使连续构建系统不可行,因为每次签入都必须进行大量重建。
是否有“最佳实践”方式
- 识别可以立即分离的部件
- 直观地记录相互依赖关系
- 解开现有代码
- 处理我们需要应用于库的“补丁”(目前通过将它们放在实际库之前的类路径中来处理)
如果有(免费/开放)工具来支持这一点,我将不胜感激。
尽管我对 Maven 没有任何经验,但它似乎强制进行了非常模块化的设计。我现在想知道这是否是可以迭代改造的东西,或者如果要使用它的项目必须从一开始就考虑到模块化的布局。
编辑 2009-07-10
我们正在使用Apache Ant/Ivy拆分一些核心模块。真正有用且设计精良的工具,不会像 maven 那样对您造成太大影响。
我在我的博客上写了一些更一般的细节和个人意见,说明我们为什么要这样做 - 太长了,不能在这里发布,可能不是每个人都感兴趣,所以请自行决定:www.danielschneller.com