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最好的方法還是命令行,又快又方便。
MavenIDE網站提供了各種流行開發工具下相應的插件
本文由用戶 碼頭工人自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!