Maven2與Ivy的區別

Maven2,它是一個模塊化項目構建工具(Building a Project )。它能夠管理依賴、構建週期、測試、 打包並且在倉庫中發佈你的製品。它是一個項目構建工具,領先於通常的構建工具(實際上它的第一個版本是在Ant之上的一層)。
apache ivy2 對項目依賴的文件可以進行統一的管理,依賴於ant,它是一個管理(記錄、跟蹤、解析和報告)項目依賴的工具 (dependency tool)。

Maven 2和Ivy常被放在一起對比,但實際上兩者是不同類型的工具。Ivy僅提供依賴管理功能,但是Maven 2是一個軟件項目管理綜合工具,能夠管理構建、報告、文檔,以及根據中心化的信息來管理依賴。Ant和Ivy 2.0集成在一起,與Maven 2進行比較才比較合適。

兩個工具處理衝突管理(Conflict management)的方式是不同的,衝突管理指處理傳遞依賴時解決衝突的能力。Ivy允許由模塊定製衝突管理器和規則,而Maven 2的衝突管理則基於最近的定義(也就是說,一個模塊依賴於foo 1.0,這會導致模塊的所有依賴都不能使用foo 1.1)。

Maven 2通過一個叫階段(scope)的概念來處理其中的依賴配置。在Maven 2中,一個依賴只在定義它的測試階段或構建階段有效。Ivy能夠創建多配置映射,這些映射可將每個配置(需構建工件的聲明)與其它模塊的依賴綁定在一起,以此提供了更多的定製選項。

Maven 2關於依賴管理的文檔很有限,相對於此,Ivy的文檔內容更寬泛,包含大量的例子和指南,同時包括FAQ。有些企業不能使用公共倉庫,並在基於Ant的構建系統中有大量投資,對於這樣的企業來說,Ivy支持企業倉庫的創建、與Ant緊密集成,這些附加的特徵都使Ivy成爲能替代Maven 2的依賴管理工具。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章