随着项目的不断的堆业务胀,模块会越来越多,如果设计上 稍有不慎就会出现模块之间相互依赖的情况。模块之间相互依赖的话在构建的时候就会失败,Maven通常要先编译被依赖的模块,如果出现相互依赖,Maven就不知道该怎么办了。重构
采用重构的方式:
第一个办法是平移,好比A和B互相依赖,那么能够将B依赖A的那部分代码,移动到工程B中,这样一来,B就不须要继续依赖A,只要A依赖B就能够了,从而消除循环依赖。循环
第二个办法是下移,好比A和B互相依赖,同时它们都依赖C,那么能够将B和A相互依赖的那部分代码,移动到工程C里,这样一来,A和B相互之间都不依赖,只继续依赖C,也能够消除循环依赖。移动
这两种重构方式都是可行的,具体采用哪一种方式要根据实际状况来判断。无论采起哪一种方式,都须要对代码进行修改,有时候并非那么容易的。