通常,依賴關係捆綁在Java .war-packages內。戰爭包與共享庫內的依賴關係
然而,也可能會下降的依賴關係到共享庫中,使用相同的依賴關係爲每個部署的工件的。
問題:什麼是每一種方法的優點和缺點?在哪些情況下你會使用它們?
最大的要求是直觀性/可維護性。我不關心內存消耗,磁盤空間使用率,帶寬等,因爲這些購買很便宜。
無論如何,一些點,每個:
裏面包括WAR依賴關係:(?)
- 「時點」 的方法
- 易於維護(需要更少的配置&腳本等)
- 易於部署到應用服務器
- 每個模塊都可以在圖書館 定義特定版本210
- 減少類加載錯誤的風險?
使用共享庫:
- 減少內存消耗(瑣碎?)
- WAR部署可以訪問相同的實例/變量等,因爲它們共享類路徑?這聽起來真的很糟糕? (它真的工作方式,或者是他們在不同的上下文中運行,只是使用相同的物理文件?)
- 了做分佈和部署更加困難,因爲依賴關係必須被單獨維護/部署
- 包是在較小大小(平凡)
- 依賴最多可以升級,沒有戰爭的應用程序的實際重新部署(有什麼好處,真的..)
當然,我們可以使用兩種方法的最好的方面,只是提供通用庫作爲共享庫,並在WAR中包含版本特色。但是,這使維護工作倍增,感覺像是一個不行。
目前我使用Glassfish的3.1.1,但這個問題確實是應用服務器不可知。
有趣的,好像我必須更詳細地閱讀FAQ。我認爲我提出了兩個嚴格的問題 - 考慮直覺性/可維護性,詢問什麼是好的,以及在哪種情況下選擇任一方法。我並沒有問一般哪一個更好 - 根據所給出的事實,每個人都可以自己決定自己。我甚至給出了一個很好的起點,並從中得到了建設性的答案。 –