如何修复这个Maven依赖地狱

时间:2019-02-16 19:17:51

标签: java git maven

我们有一个Java 8 maven项目,在过去的几个月中变得非常大,并且构建变得复杂(错误)。

该结构目前看起来像这样:

[[3.37, 4.37, 5.13, 6.43, 7.91, 9.88],[3.41, 4.42, 5.09, 6.13, 7.07, 8.18],[3.49, 4.87, 5.95, 7.51, 8.80, 10.19]]

git repo 1: module 1: sub-module A depends on: sub-module C sub-module B depends on: sub-module A git repo 2: module 2: sub-module C sub-module D depends on: sub-module A Maven目录开始时,这是当前的构建过程:

  • 首先,.m2模块2(在子模块D上失败)。
  • 然后再次clean install模块1,clean install模块2。

我真的不知道这种问题的名称,也不知道解决此问题的标准解决方案是什么。 目标是能够一步一步构建项目。

我们应该合并两个git存储库并为模块1和2创建一个大型的maven模块吗?

1 个答案:

答案 0 :(得分:2)

似乎您具有循环/循环依赖性,其中repo1取决于repo2,repo2取决于repo1,这显然是一个坏主意。

您的两个选项是:

  1. 将您的“库”模块(模块A和C)放入各自独立的git存储库中,以消除循环依赖项(即鸡肉或鸡蛋问题)
  2. 对所有内容都有一个(整体)多模块构建

两种方法都各有利弊