2

我希望我可以让这个问题足够具体,我的团队目前正在讨论管理一个大型项目的依赖项的最佳方法(150 多个依赖项 ~300mb)。

我们有两个主要问题

  • 保持所有开发人员的依赖关系相同,因此我们针对相同的文件进行编译
  • 确保项目(一旦编译)针对相同的依赖项进行编译

建议的两个想法是使用 BirJar(一个文件中的所有依赖项),只需向其添加版本号并使用共享文件夹并将每个人的机器指向同一个位置。

或者在我们编译它时将所有依赖项包含在 jar 中(一个 jar、of jar、of jar)并且只有一个“没有依赖关系”的项目

有人还提到设置 Ivy 的内部版本并指向所有代码以从那里提取依赖项。

关于大规模依赖管理的最佳实践是什么?

4

2 回答 2

9

为什么不使用Maven及其依赖管理

您可以指定每个依赖项、其特定版本及其范围(编译时、测试、部署等)。您可以提供一个pom.xml指定这些的主文件(配置文件),开发人员可以根据需要覆盖(例如,评估新版本)。

例如,我指定了一个 pom.xml,详细说明了我需要的特定 jar 及其版本(或范围)。依赖的 jars 会自动确定/下载。我可以指定这些 jar 中的哪些用于编译和部署等。如果我使用 Nexus 之类的集中式存储库,我可以构建我的人工制品(例如库)并将其部署到Nexus中,它将变得可用于其他开发人员以与第 3 方库等完全相同的方式下载。

于 2012-09-06T14:03:50.483 回答
0

如果您不喜欢/不想遵循 Maven 项目结构...

如果您已经使用 Ant,那么最好的选择是使用 Ivy 进行依赖管理。

http://ant.apache.org/ivy/

它为依赖操作提供了一组丰富的 ant 任务。

来自:Ant 依赖管理

于 2012-09-06T14:07:09.550 回答