maven是什么?maven與ant有什么區(qū)別?

PPT連接:https://github.com/ptteng/PPT/blob/master/PPT/java_task1_1.html

視頻地址:https://v.qq.com/x/page/e05086ms27s.html

Maven是一個(gè)強(qiáng)大的Java項(xiàng)目構(gòu)建工具。

構(gòu)建工具是將軟件項(xiàng)目構(gòu)建相關(guān)的過(guò)程自動(dòng)化的工具。

Maven主要做了兩件事:

統(tǒng)一開(kāi)發(fā)規(guī)范與工具

統(tǒng)一管理jar包


構(gòu)建一個(gè)軟件項(xiàng)目通常包含以下一個(gè)或多個(gè)過(guò)程:

生成源碼(如果項(xiàng)目使用自動(dòng)生成源碼);

從源碼生成項(xiàng)目文檔;

編譯源碼;

將編譯后的代碼打包成JAR文件或者ZIP文件;

將打包好的代碼安裝到服務(wù)器、倉(cāng)庫(kù)或者其它的地方;


Maven的定位是軟件項(xiàng)目管理和理解工具。Maven除了具備Ant的功能外,還增加了以下主要的功能:

1)使用Project Object Model來(lái)對(duì)軟件項(xiàng)目管理;

2)內(nèi)置了更多的隱式規(guī)則,使得構(gòu)建文件更加簡(jiǎn)單;

3)內(nèi)置依賴(lài)管理和Repository來(lái)實(shí)現(xiàn)依賴(lài)的管理和統(tǒng)一存儲(chǔ);

4)內(nèi)置了軟件構(gòu)建的生命周期;


?Maven 擁有約定,因?yàn)槟阕裱思s定,它已經(jīng)知道你的源代碼在哪里。

?Maven 是聲明式的。你需要做的只是創(chuàng)建一個(gè) pom.xml 文件然后將源代碼放到默認(rèn)的目錄。Maven 會(huì)幫你處理其它的事情。

?Maven 有一個(gè)生命周期,當(dāng)你運(yùn)行 mvn install 的時(shí)候被調(diào)用。這條命令告訴 Maven 執(zhí)行一系列的有序的步驟,直到到達(dá)你指定的生命周期。



Ant是Apache另一個(gè)流行的構(gòu)建工具。

Ant使用命令式的方式,即你需要在Ant構(gòu)建文件里指定Ant應(yīng)該執(zhí)行的操作。你可以指定低級(jí)別的操作,如復(fù)制文件、編譯代碼等。你指定操作,還需要執(zhí)行這些操作執(zhí)行的順序。Ant沒(méi)有默認(rèn)的目錄結(jié)構(gòu)。


Ant 沒(méi)有正式的約定如一個(gè)一般項(xiàng)目的目錄結(jié)構(gòu),你必須明確的告訴 Ant 哪里去找源代碼,哪里放置輸出。

Ant 是程序化的,你必須明確的告訴 Ant 做什么,什么時(shí)候做。你必須告訴它去編譯,然后復(fù)制,然后壓縮。

?Ant 沒(méi)有生命周期,你必須定義目標(biāo)和目標(biāo)之間的依賴(lài)。你必須手工為每個(gè)目標(biāo)附上一個(gè)任務(wù)序列


總結(jié)

maven和ant雖然都是構(gòu)建工具,但是兩種的思維方式是不一樣的,ant更像一種編程語(yǔ)言,自己去寫(xiě)代碼讓項(xiàng)目做你想要讓它做的事情,刪除,復(fù)制,編譯,測(cè)試,打包等,而maven則是自己有生命周期去完成你想要的編譯測(cè)試等工作,只要你懂它的約定,當(dāng)然你得懂他的各種約定包括配置文件的各種配置。maven在于配置。


參考文獻(xiàn)

http://www.cnblogs.com/itech/archive/2011/11/01/2231837.html

http://blog.csdn.net/b11040805/article/details/20724943

http://blog.csdn.net/zhousenshan/article/details/48291903

http://www.cnblogs.com/jeffen/p/6124830.html

http://miaowugui.iteye.com/blog/2207024

-----------------------------------------------------------------------------------------------------------------------

技能樹(shù).IT修真院

“我們相信人人都可以成為一個(gè)工程師,現(xiàn)在開(kāi)始,找個(gè)師兄,帶你入門(mén),掌控自己學(xué)習(xí)的節(jié)奏,學(xué)習(xí)的路上不再迷?!薄?/p>

這里是技能樹(shù).IT修真院,成千上萬(wàn)的師兄在這里找到了自己的學(xué)習(xí)路線(xiàn),學(xué)習(xí)透明化,成長(zhǎng)可見(jiàn)化,師兄1對(duì)1免費(fèi)指導(dǎo)??靵?lái)與我一起學(xué)習(xí)吧 !IT修真院:http://www.jnshu.com/login/1/10031132

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,326評(píng)論 25 708
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,695評(píng)論 19 139
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 47,287評(píng)論 6 342
  • 當(dāng)前,JVM生態(tài)圈主要的三大構(gòu)建工具: Apache Ant(帶著Ivy) Maven Gradle 對(duì)于剛開(kāi)始接...
    清楓_小天閱讀 5,996評(píng)論 1 13
  • 14天小白訓(xùn)練營(yíng)即將接近尾聲,這14天使我受益匪淺。由衷地覺(jué)得認(rèn)識(shí)長(zhǎng)投,是我“買(mǎi)買(mǎi)買(mǎi)”以來(lái)做得最正確的一個(gè)決定。短...
    YokiMia閱讀 2,475評(píng)論 2 29

友情鏈接更多精彩內(nèi)容