我使用Ivy從內部開發和第三方庫中組裝一個複合應用程序。常春藤用於管理構建上述庫的依賴關係。對於每個庫,都有多個可用的兼容版本,可以在組裝的應用程序中使用。問題是我如何指導ivy不選擇最新版本的依賴項。讓我說明用下面的例子:使用Ivy控制上游依賴項的依賴關係範圍的一種方法?
- A [3]:[2.5 +] B,C [1.3 +]
意味着包A依賴於任何版本的乙包2.5.0-2.5.X(在2.5分支內沒有重大更改,這意味着該範圍內的所有版本都是兼容的)。相同的邏輯適用於C.
在應用裝配時間我限定ivy.xml文件,簡單地說:
- 應用:A [3]
這將指示常春藤提取所有A與A兼容的範圍內的最新版本的B和C.由於一些商業上的限制,我還想「說」:「在定義的範圍內使用版本2.5.6而不是最新版本的B」(假設2.5.7也存在)。因此,而不是上面我想說的是這樣的:
- 應用:A [3],B [2.5.6]
的問題是,艾維將驅逐B [2.5.6]贊成2.5.7。所以必須使用某種衝突管理器。我想到最新兼容希望它可以指定一個額外的範圍。我找不到這樣的例子。這是給我的猜測是正確的,當然...
是的,檢查出來。 「武力」運作良好,更簡單。謝謝,馬克。 – AlexeiOst