如何修复这个 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

这是从空 .m2maven 目录 开始时的当前构建过程:

  • 首先,clean install模块 2(在子模块 D 上失败)。

  • 然后clean install是模块 1,clean install再次是模块 2。

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

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


墨色风雨
浏览 69回答 1
1回答

宝慕林4294392

似乎您有循环/循环依赖关系,其中 repo1 依赖于 repo2 而 repo2 依赖于 repo1,这显然是一个坏主意。您的两个选择是:将您的“库”模块(模块 A 和 C)放入它们自己的、单独的 git 存储库中,以消除循环依赖关系(也就是先有鸡还是先有蛋的问题)为所有内容构建一个(整体)多模块两种方法都有优点和缺点
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java