[英]Handling interdependencies in maven multi-module project
我一直在瀏覽Maven Framework
。 在進行多模塊項目時,我讀到模塊之間不能接受循環依賴。 所以我想到了一個場景,比如……
root ----------
- pom.xml |
|
|--- moduleA
| - pom.xml (moduleB has been added as a dependancy)
|
|--- moduleB
- pom.xml
假設moduleA
有一個屬性類AppProperty
和一個調用moduleB
可用的另一個類B
的Main
類
Main
可用類moduleA
: -
someValue = AppProperty.get(propKey);
//some logic
B mb = new B();
B.process(...);
moduleB
B
類:-
process(...) {
someOtherValue = AppProperty.get(someKey)
// some other logic
}
現在Main
不會拋出任何compile-time errors
因為它的依賴項已經解決,因為moduleB
已作為依賴項添加到moduleA'a pom.xml
。 但是對於B
類,情況並非如此,因為它的調用AppProperty
類僅在moduleA
可用。 我不能在moduleB
的 pom 中添加moduleA
的依賴,因為這會導致循環依賴(如果我理解正確的話)。
我理解理想情況下建議以非循環方式維護代碼,但是如果由於某種原因消除循環依賴是不可行的怎么辦? 在這種情況下,有沒有辦法在不主動改變現有代碼邏輯的情況下處理循環依賴?
您不能構建具有循環依賴項的項目。 您需要在 B 之前先構建 B,這有點矛盾。
但是像你這樣的問題很容易解決:
AppProperty
或其他幾個,只需將它們從 A 移到 B。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.