天天看點

jar包依賴管理

随着項目不斷的疊代、拆分,項目之間的jar包依賴關系複雜度也是不斷的變大,看不懂的編譯報錯,頭大的啟動問題都在不斷的折磨着我們。

解決jar包管理思路

在這裡談談我的感受和方法,主要概括為:

1、通過頂層統一的父pom來管理spring的jar包版本号,確定spring的core、context、transaction、web等的版本統一。spring多版本的交叉使用,會引入一些看不懂的編譯及啟動錯誤。可以借助于dependencyAnalyzer插件來分析沖突(idea插件庫)。

2、封裝中間件并分不同的子產品,如:kafka、dbcp、dubbo、es、redis、mongodb、utils等作為基礎元件(生成jar包),不同的項目中隻針對用到的中間件基礎元件做依賴。

3、和第1點是一個思路,通過頂層統一的父pom來管理第三方公共jar包,例如:apache的commons-collections、google的guava、github的pageHelper、http的okhttp等。

4、項目交叉依賴可以通過在頂層父pom和底層子產品之間增加多級父pom,整體的依賴結構是樹狀結構。

5、服務分層(基礎service層、服務編排層、控制器層,其中服務編排層還可以根據實際情況再做分層),隻有層次分明,系統才具備擴充性。快速疊代、上線才簡單。同層服務互相依賴的管理成本和運作成本隻會變的越來越大。

以上三點是我的實踐總結,從另外一個視角來看問題,解決問題,希望會給你帶來一些靈感。