在Git或Mercurial中管理多个依赖项目的最佳方法是什么?

时间:2012-01-03 14:12:33

标签: java git mercurial project-management

我有十几个相互依赖的Java项目,我经常进行跨越所有项目的更改。但是,许多项目都是可以彼此独立使用的库。

现在我使用mercurial subrepos,除了极少数第三方工具支持它之外,它运行良好 - 很难设置代码审查工具,持续集成等。

解决这种情况的最佳方法是什么?将所有内容拆分为单独的项目并构建单独的JAR?迁移到git并使用git子库?检查所有内容到一个回购并接受我必须检查一切使用什么?还有别的吗?

2 个答案:

答案 0 :(得分:4)

我想说最好的方法是削减你的依赖关系,以便他们可以作为外部jar引用。这样,当您进行潜在的破坏性更改时,您不必立即修复受影响的区域。由于它们依赖于以前构建的jar,因此您可以正确地隔离编码。如果您使用Maven之类的东西来管理您的依赖项,您还可以更轻松地跟踪您的罐子的不同版本。

答案 1 :(得分:4)

如果子项目具有足够的自主性,我建议将它们设置为具有单独VCS回购的单独maven项目。

这将为您提供与工作依赖关系管理配对所需的模块化。