解决或编译Maven中的循环依赖
我有一个有趣的问题,而不是寻找解决方案,我正在寻找解决方案。
Project Alice有一个pom.xml。 在它里面,pom说她被打包成一个jar子,虽然她是一个坚强的女人,但她依赖鲍勃。 项目鲍勃,作为一个补充,说他依赖爱丽丝。 因此循环依赖。
当然,在Alice上运行mvn compile
说“Alice正在失踪Bob”。 鲍勃,真正的浪漫,如果你试着编译他,他也会想念爱丽丝。
既然没有其他人在场,他们都不会遵守,我正在寻找解决这个问题的方法。
我只知道如何解决这个问题的两种方法:
- 嫁给他们,让他们成为一个maven项目。
- 打破他们的共同依赖
除了我不想宣传乱伦这一事实之外,还会制作父母pom并让Alice和Bob兄弟姐妹解决这个问题吗?
任何其他解决方案?
弄清楚爱丽丝和鲍勃彼此之间迫切需要的是什么,并将其称为 – 让我们称之为查理 – 作为自己独立的POM。 然后,爱丽丝和鲍勃依赖查理。
这里要注意的重要一点是,循环依赖性通常是由于某些模块包含的内容超出了它的需要。 鉴于Alice需要Bob和Bob需要Alice,有些东西可以从这两个模块中分离出来并作为第三个模块引入。
这可能不是最有吸引力的解决方案,但它是最干净的。 然后,您将更多模块化引入系统,并为模块重构提供更多机会。