公司的后端開發使用了一套自研的基礎框架,開發人員會根據業務不斷地擴展這套框架,然后將jar包發布到私服nexus上,業務層的代碼是基於這套自研的代碼進行開發,所以一般會下載該框架的jar包到本地然后和本地最新的業務代碼進行整合,從而形成一個新的業務代碼的jar包。
整個業務代碼-核心框架代碼的結構如圖所示:
platform是各個業務項目的名稱,而module是項目的模塊,core則是核心框架,被依賴於各個module的pom中。一般情況下,core是資深一點的程序員甚至是架構師來寫,主要是根據公司的業務場景來改造一些框架,或者集成一些比較復雜的功能特性,這樣業務程序員就能夠很容易地將這些功能集成到業務的jar包中。但是,偶爾會出現在一個環境上有bug,而在另一個環境上沒有bug的情況,排查到最后發現是jar包依賴的代碼不一致。雖然core包的版本號都一樣,但由於開發人員沒有將最新的代碼發布到私服,或者是業務開發沒有引用最新的代碼,導致兩個環境的jar包並不相同。
此時,朋友推薦了這個比較jar包依賴的神器:BeyondCompare4。將兩個jar包放在其中,立即能夠找到不一樣的依賴,或者代碼文件,它能用不同的顏色標識出來,省去了查日志、分析等過程。