我正在研究一個Java monolith將其分成幾個可重用的模塊。Maven JAR模塊在發佈中包含依賴項?
我開始弄清楚依賴關係樹可能存在一些問題。
解釋我的問題,讓我們想象一個簡單的項目,其中包括4只依賴:
Proj
ProjA
ProjB
ProjC
ProjD
想象一下,我主要依賴項目之一 - ProjA - 需要主要依賴項目之一 - ProjD-。
ProjA
ProjD
ProjF
防止類路徑和其他依賴性問題中重複類的最佳做法是什麼?
是否應該在JAR模塊中包含依賴關係,並嘗試通過設計將它們降至最低?在這種情況下,重寫我的子模塊以避免發生這種情況。
或者你應該構建沒有依賴關係的JAR模塊,並且只將它們包含在父「root」項目中?
我不明白你想達到什麼。你在建造一個罐子還是一場戰爭?爲什麼你想重複類?多模塊項目可以具有從一個模塊到另一個模塊的依賴關係(在pom.xml中) –
每個子模塊應該表示與som相關的功能,或者可能表示應用程序中的一個圖層。例如,ProjA是持久層,所以ProjB,ProjC和ProjD依賴於ProjA。所以可以有依賴關係,但不是循環依賴關係。一旦模塊被設置,maven應該抱怨如果有人試圖引入循環依賴。如果有一個明確定義的包結構,那麼不應該在同一個包**中重複類名**。不同軟件包中重複的類名稱會導致代碼重複和/或類名不靈。 –
這不是關於循環依賴。只是重複的類依賴關係。設想2個依賴關係,包括作爲Hibernate的潛在不同版本的依賴項。你如何解決這個問題? – user3779543