在Maven中解析或编译循环依赖

时间:2014-11-21 23:18:16

标签: java maven

我有一个有趣的问题,而不是寻找 解决方案,我正在寻找解决方案 s

Project Alice有一个pom.xml。在它里面,pom说她被打包成一个罐子,虽然她是一个坚强的女人,但她依赖鲍勃。项目鲍勃,作为一个补充,说他依赖爱丽丝。因为循环依赖。

当然,在Alice上运行mvn compile说" Alice错过了Bob"。鲍勃,真正的浪漫,如果你试着编译他,他也会想念爱丽丝。

由于在没有其他礼物的情况下都不会遵守,我正在寻找方式来解决这个问题。

我只有两种方法可以解决这个问题:

  1. 嫁给他们,让他们成为一个maven项目。
  2. 打破他们的共同依赖
  3. 除了我不想宣传乱伦这一事实之外,还会制作父母pom并让Alice和Bob的兄弟姐妹解决这个问题吗?

    任何其他解决方案 s

1 个答案:

答案 0 :(得分:6)

弄清楚爱丽丝和鲍勃彼此迫切需要什么,然后介绍 - 让我们称之为查理 - 作为自己独立的POM。然后,让爱丽丝和鲍勃依赖查理。

这里需要注意的重点是,循环依赖性通常是由于某些模块包含的内容超出了它的需要。鉴于Alice需要Bob和Bob需要Alice,有些东西可以从这两个模块中分离出来并作为第三个模块引入。

这可能不是最具吸引力的解决方案,但它是最干净的。然后,您将更多模块化引入系统,并为模块重构提供更多机会。