java-如何修复此Maven依赖地狱

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

当前的结构如下所示:

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,这显然是一个坏主意.

您有两个选择:

>将您的“库”模块(模块A和C)放入它们自己的单独git存储库中,以消除循环依赖项(即“鸡或蛋”问题)
>为所有内容提供一个(整体)多模块构建

两种方法都有优点和缺点

相关文章

摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠...
摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠...
今天犯了个错:“接口变动,伤筋动骨,除非你确定只有你一个...
Writer :BYSocket(泥沙砖瓦浆木匠)微 博:BYSocket豆 瓣:...
本文目录 线程与多线程 线程的运行与创建 线程的状态 1 线程...