Java 如何修复这个maven依赖关系
我们有一个Java8Maven项目,它在过去几个月变得相当大,构建变得复杂(有缺陷) 结构当前看起来像这样:Java 如何修复这个maven依赖关系,java,git,maven,Java,Git,Maven,我们有一个Java8Maven项目,它在过去几个月变得相当大,构建变得复杂(有缺陷) 结构当前看起来像这样: 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
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
以下是从空的.m2
maven目录开始时的当前构建过程:
- 首先,清洁安装模块2(子模块D出现故障)
- 然后再次
模块1,清洁安装
模块2清洁安装
我们是否应该合并两个git存储库并为模块1和模块2创建一个大型maven模块?看起来您有循环/循环依赖关系,其中repo1依赖于repo2,repo2依赖于repo1,这显然是个坏主意 你的两个选择是:
这两种方法都有赞成和反对的意见总是避免循环依赖。正如@AndrzejJozwik所说,这被称为循环依赖,应该总是避免。如何避免它,以及如何重新构造依赖关系太广泛,如果不深入了解项目和模块,就无法回答。但作为一般建议:将D所依赖的a中的元素提取到自己的项目中-将其命名为Z。您现在可以依赖a->Z和D->Z。循环已经结束。