Apache Maven

Apache Maven一個潛在的基於java的apache ant的構建工具的替代者。兩者之間的比較:
第一:ant腳本是可以直接運行在maven中的。maven和ant最大的差別就是在於maven的編譯以及所有的腳本都有一個基礎,就是POM(project object model)。這個模型定義了項目的方方面面,然後各式各樣的腳本在這個模型上工作,而ant完全是自己定義,顯然maven更勝一籌。
 第二:Maven對所依賴的包有明確的定義,如使用那個包,版本是多少,一目瞭然。而ant則通常是簡單的inclde 所有的jar。導致的最終結果就是,你根本無法確定JBoss中的lib下的common-logging 是哪個版本的,唯一的方法就是打開 META-INF 目錄下MANIFEST.MF。估計JBoss遲早會轉向Maven的。
 第三:Maven是基於中央倉庫的編譯,即把編譯所需要的資源放在一箇中央倉庫裏,如jar,tld,pom,等。當編譯的時候,maven會自動在倉庫中找到相應的包,如果本地倉庫沒有,則從設定好的遠程倉庫中下載到本地。這一切都是自動的,而ant需要自己定義了。這個好處導致的結果就是,用maven編譯的項目在發佈的時候只需要發佈源碼,小得很,而反之,ant的發佈則要把所有的包一起發佈,顯然maven又勝了一籌。
第四:maven有大量的重用腳本可以利用,如生成網站,生成javadoc,sourcecode reference,等。而ant都需要自己去寫。試試 maven site 的效果。
第五:maven目前不足的地方就是沒有象ant那樣成熟的GUI界面,不過mavengui正在努力中。目前使用maven最好的方法還是命令行,又快又方便。

該項目主頁:http://maven.apache.org/

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