maven是什么,它和ant有什么區別?
java面試題:Maven 和 ANT 有什么區別?
Maven和Ant的區別
maven和ant區別
Maven 擁有約定,只要遵守約定,它就知道你的源代碼在哪里。
Maven 是聲明式的。
你需要做的只是創建一個 pom.xml 文件然后將源代碼放到默認的目錄。
Maven 會幫你處理其它的事情。
Maven 有一個生命周期,當你運行 mvn install 的時候被調用。
這條命令告訴 Maven 執行一系列的有序的步驟,直到到達你指定的生命周期。缺點是運行許多默認目標。
約定大於配置的意思就是,
我maven將項目開發的各個階段固定起來了,
每個文件的存放位置,
每個階段要生成什么文件、
保存為什么格式並且要把它放在什么位置,我都固定好了。
我知道一個軟件是怎么開發出來,如果一個項目要使用maven,可以,
但你要遵循我的規則,文件目錄不要亂建亂放,
只有這樣maven才會將源碼用起來。
這就是約定大於配置,因為maven已經將流程固定下來了,
只要遵守約定,就不需要自己手動去配置了,
這將大大地提高開發效率。
ant沒有約定,項目生命周期,它是命令式的。
所有操作都要手動去創建、布置。
甚至連build.xml文件都需要手動創建。
Ant可以集成到開發環境中:由於Ant的跨平台性和操作簡單的特點,它很容易集成到一些開發環境中去。
Maven的作用: 除了以程序構建能力為特色之外,還提供高級項目管理工具。
Maven除了具備Ant的功能外,還增加了以下主要的功能:
使用Project Object Model來對軟件項目管理;
內置了更多的隱式規則,使得構建文件更加簡單;
內置依賴管理和Repository來實現依賴的管理和統一存儲;
內置了軟件構建的生命周期;
Maven的優點:
擁有約定,知道你的代碼在哪里,放到哪里去
擁有一個生命周期,例如執行 mvn install就可以自動執行編譯,測試,打包等構建過程
只需要定義一個pom.xml,然后把源碼放到默認的目錄,Maven幫你處理其他事情
擁有依賴管理,倉庫管理