这是我的项目结构,
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。
我有父母,A,B和C作为Git上的个人回购。有办法,我可以解决这个问题。
答案 0 :(得分:1)
解决此问题的唯一方法是删除A,B和C之间的循环依赖关系.Maven强制执行不存在循环依赖关系。要删除该圆,您必须将一对项目A,B和C的公共部分分解为一个新模块D.因此,如果您选择打开A和B之间的循环,它们将仅依赖于D
这样,您的发布过程也会变得更加简单,因为您可以在同一个作业中发布所有内容。