0

这是我的项目结构,

Parent
^ ^ ^
| | |

A B C

项目 A、B、C 取决于父项。Parent 有一个依赖管理部分,它决定了 A、B 和 C 的版本。

在发布过程中,我先发布了父级,这将有尚未发布的A、B、C版本。然后将A、B和C的父级更改为最新版本的父级。

A -> C, B->A and C->A

现在因为上面的依赖,我无法确定A、B、C的发布顺序。如果我先发布A,它会抱怨C的发布版本不可用(因为父在发布时声明了C的版本, 提前时间)。我不能先释放 C,因为它依赖于 A。

我在 Git 上有 Parent 、 A、 B 和 C 作为单独的存储库。有没有办法,我可以解决这个问题。

4

1 回答 1

1

解决此问题的唯一方法是删除 A、B 和 C 之间的循环依赖关系。Maven 强制不存在循环依赖关系。要删除该循环,您必须将一对项目 A、B 和 C 的公共部分分解为新模块 D。因此,如果您选择打开 A 和 B 之间的循环,它们将因此仅依赖于 D .

这样,您的发布过程也将更加简单,因为您可以在同一个工作中发布所有内容。

于 2013-01-07T07:22:04.327 回答