2
我敢肯定,這可能是一個重複的問題,但我想知道爲什麼...模塊的說明Java的依賴關係
A,B和C是普通的Java模塊 - A和B是庫,C是應用程序。
如果B依賴於一個
和C依賴於B
爲什麼我必須包括A和B用C的依賴呢?
我不是真的在尋找建議 - 我只有5個模塊在項目中,所以沒什麼大不了的。我只是好奇爲什麼這是這種情況(或者我錯過了一些明顯的東西)。
我敢肯定,這可能是一個重複的問題,但我想知道爲什麼...模塊的說明Java的依賴關係
A,B和C是普通的Java模塊 - A和B是庫,C是應用程序。
如果B依賴於一個
和C依賴於B
爲什麼我必須包括A和B用C的依賴呢?
我不是真的在尋找建議 - 我只有5個模塊在項目中,所以沒什麼大不了的。我只是好奇爲什麼這是這種情況(或者我錯過了一些明顯的東西)。
有兩種依賴性需要考慮 - 項目依賴性和運行時依賴性。
運行時依賴關係是最簡單的:爲了運行C,您需要A和B的JAR,因爲沒有A,B就無法運行。 Java模塊類似於其他編譯語言中的動態庫(與靜態庫相反)。在編譯B時,編譯器不會將A的類的副本包含在B中:它假定A,B的依賴項在運行時可用。
項目依賴關係是那麼簡單:嚴格來說,你不需要要包括在C.多數開發環境依賴性列表中會弄清楚傳遞依賴於你,所以當一個變化,B將重新編譯,然後C會重新編譯以響應B的重新編譯。