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

Lan*_*Lan 23 java maven

我有一个有点滑稽的问题,并代替寻找一个解决的办法,我正在寻找解决方案小号.

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

当然,跑mvn compile在爱丽丝身上说"爱丽丝正在失踪鲍勃".鲍勃,真正的浪漫,如果你试着编译他,他也会想念爱丽丝.

由于没有将遵守没有其他目前,我正在寻找的方式来解决这个问题.

我知道如何解决这个问题只有两种方式:

  1. 嫁给他们,让他们成为一个maven项目.
  2. 打破他们的共同依赖

除了我不想宣传乱伦的事实之外,还会制作一个父母pom并让Alice和Bob兄弟姐妹解决这个问题吗?

任何其他解决办法小号

Mak*_*oto 7

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

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

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