隨着項目的不斷的堆業務脹,模塊會越來越多,如果設計上 稍有不慎就會出現模塊之間相互依賴的情況。模塊之間相互依賴的話在構建的時候就會失敗,Maven通常要先編譯被依賴的模塊,如果出現相互依賴,Maven就不知道該怎麼辦了。重構
採用重構的方式:
第一個辦法是平移,好比A和B互相依賴,那麼能夠將B依賴A的那部分代碼,移動到工程B中,這樣一來,B就不須要繼續依賴A,只要A依賴B就能夠了,從而消除循環依賴。循環
第二個辦法是下移,好比A和B互相依賴,同時它們都依賴C,那麼能夠將B和A相互依賴的那部分代碼,移動到工程C裏,這樣一來,A和B相互之間都不依賴,只繼續依賴C,也能夠消除循環依賴。移動
這兩種重構方式都是可行的,具體採用哪一種方式要根據實際狀況來判斷。無論採起哪一種方式,都須要對代碼進行修改,有時候並非那麼容易的。