Maven項(xiàng)目對(duì)象模型(POM),可以通過(guò)一小段描述信息來(lái)管理項(xiàng)目的構(gòu)建,報(bào)告和文檔的項(xiàng)目管理工具軟件,Maven除了以程序構(gòu)建能力為特色之外,還提供高級(jí)項(xiàng)目管理工具。由于Maven的缺省構(gòu)建規(guī)則有較高的可重用性,所以常常用兩三行Maven構(gòu)建腳本就可以構(gòu)建簡(jiǎn)單的項(xiàng)目。由于Maven的面向項(xiàng)目的方法,許多Apache Jakarta項(xiàng)目發(fā)文時(shí)使用Maven,而且公司項(xiàng)目采用Maven的比例在持續(xù)增長(zhǎng)。
特點(diǎn)
那么,Maven和Ant有什么不同呢?在回答這個(gè)問(wèn)題以前,首先要強(qiáng)調(diào)一點(diǎn):Maven和Ant針對(duì)構(gòu)建問(wèn)題的兩個(gè)不同方面。Ant為Java技術(shù)開發(fā)項(xiàng)目提供跨平臺(tái)構(gòu)建任務(wù)。Maven本身描述項(xiàng)目的高級(jí)方面,它從Ant借用了絕大多數(shù)構(gòu)建任務(wù)。因此,由于Maven和Ant代表兩個(gè)差異很大的工具,所以接下來(lái)只說(shuō)明這兩個(gè)工具的等同組件之間的區(qū)別,如表1所示。
Maven | Ant | |
---|---|---|
標(biāo)準(zhǔn)構(gòu)建文件 | project.xml和maven.xml | build.xml |
特性處理順序 | ${maven.home}/bin/driver.properties ${project.home}/project.properties ${project.home}/build.properties ${user.home}/build.properties 通過(guò)-D命令行選項(xiàng)定義的系統(tǒng)特性 最后一個(gè)定義起決定作用。 | 通過(guò)-D命令行選項(xiàng)定義的系統(tǒng)特性 由任務(wù)裝入的特性 第一個(gè)定義最先被處理。 |
構(gòu)建規(guī)則 | 構(gòu)建規(guī)則更為動(dòng)態(tài)(類似于編程語(yǔ)言);它們是基于Jelly的可執(zhí)行XML。 | 構(gòu)建規(guī)則或多或少是靜態(tài)的,除非使用 |
擴(kuò)展語(yǔ)言 | 插件是用Jelly(XML)編寫的。 | 插件是用Java 語(yǔ)言編寫的。 |
構(gòu)建規(guī)則可擴(kuò)展性 | 通過(guò)定義<pregoal>和<postgoal>使構(gòu)建goal可擴(kuò)展</postgoal></pregoal> | 構(gòu)建規(guī)則不易擴(kuò)展;可通過(guò)使用 <script>任務(wù)模擬 <preGoal> 和 <postGoal>所起的作用。 |
Maven有一個(gè)生命周期,當(dāng)你運(yùn)行mvn install的時(shí)候被調(diào)用。這條命令告訴Maven執(zhí)行一系列的有序的步驟,直到到達(dá)你指定的生命周期。遍歷生命周期旅途中的一個(gè)影響就是,Maven運(yùn)行了許多默認(rèn)的插件目標(biāo),這些目標(biāo)完成了像編譯和創(chuàng)建一個(gè)JAR文件這樣的工作?! aven是一個(gè)項(xiàng)目管理工具,它包含了一個(gè)項(xiàng)目對(duì)象模型(Project Object Model),一組標(biāo)準(zhǔn)集合,一個(gè)項(xiàng)目生命周期(Project Lifecycle),一個(gè)依賴管理系統(tǒng)(Dependency Management System),和用來(lái)運(yùn)行定義在生命周期階段(phase)中插件(plugin)目標(biāo)(goal)的邏輯。當(dāng)你使用Maven的時(shí)候,你用一個(gè)明確定義的項(xiàng)目對(duì)象模型來(lái)描述你的項(xiàng)目,然后Maven可以應(yīng)用橫切的邏輯,這些邏輯來(lái)自一組共享的(或者自定義的)插件。
此外,Maven能夠很方便的幫你管理項(xiàng)目報(bào)告,生成站點(diǎn),管理JAR文件,等等。
零基礎(chǔ)學(xué)習(xí)Maven,長(zhǎng)沙中公優(yōu)就業(yè)Maven入門視頻教程本課程詳細(xì)介紹了Maven的高級(jí)操作:繼承、聚合、多模塊項(xiàng)目管理等方面的內(nèi)容方方面面,是一線開發(fā)必不可少的內(nèi)容。
主講老師:長(zhǎng)沙中公優(yōu)就業(yè)Java高級(jí)講師-王老師
10年以上軟件研發(fā)及教學(xué)管理經(jīng)驗(yàn),先后擔(dān)任高級(jí)軟件工程師、項(xiàng)目主管、教學(xué)主管等職務(wù)。曾參與中國(guó)人壽保險(xiǎn)投保項(xiàng)目(PICC人壽保險(xiǎn))、銀行IC卡Web管理系統(tǒng)、某大型航空企業(yè)勞動(dòng)定額管理系統(tǒng)、主導(dǎo)北京市旅游局財(cái)務(wù)管理系統(tǒng)的研發(fā)和上線,并且開發(fā)多款主流App,致力于大型互聯(lián)網(wǎng)、國(guó)家電網(wǎng)相關(guān)項(xiàng)目的設(shè)計(jì)、搭建與實(shí)現(xiàn)。對(duì)JavaSE內(nèi)存解析和JVM優(yōu)化理解比較深入,精通JavaSE核心語(yǔ)法,精通Spring、SpringMVC、MyBatis、Hibernate框架的使用,熟練掌握企業(yè)搜索引擎、分布式架構(gòu)、SOA架構(gòu)、微服務(wù)架構(gòu)。熟練使用MySQL、Oracle、DB2等數(shù)據(jù)庫(kù);精通HTML5.0及CSS3.0、Javascript、AJAX、jQuery等前端交互技術(shù)。有多年的教學(xué)經(jīng)驗(yàn),授課由淺入深、生動(dòng)實(shí)用,注重學(xué)員學(xué)習(xí)體驗(yàn),將生活案例引入到學(xué)習(xí)中,讓枯燥的學(xué)習(xí)變成有趣的事,在愉快的氛圍中學(xué)到知識(shí)。
以上就是長(zhǎng)沙中公優(yōu)就業(yè)Java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“Maven實(shí)戰(zhàn)視頻教程,初學(xué)者快速入門”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。