假設您有一組使用各種版本的公用庫(如Spring)的Web應用程序。我有一個業務邏輯庫也使用這個公共庫。到目前爲止沒有問題,但一路上公共庫的一個版本改變了抽象類的定義並打破了業務邏輯庫。在Maven中檢測不兼容的依賴關係?
所以我結束了一個兼容版本表看起來像這樣...
business-lib-version | common-lib-version
1.0 | 1.0
1.1 | 2.0
我不想業務庫版本在使用應用程序驅動公共庫版本。相反,我想根據公共庫選擇正確版本的業務庫。我很確定這是不可能的,所以我繼續討論主要問題。
有沒有一種優雅的方式來檢測版本不兼容?理想情況下,我想要一個構建時間解決方案,否則早期運行時解決方案就沒問題。
我試過在Maven中使用版本範圍,但由於Maven如何對非標準版本格式的版本進行排序,導致我們遇到很多問題,而且在構建時正確解析範圍時出現了各種問題。
「不兼容」,你是否只是指不同的版本,或實際的破損? – 2012-03-01 15:10:25
@DaveNewton:在這一點上或者兩者都有。我只是在尋找最少的驚喜的解決方案。 – 2012-03-01 16:15:29