乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      好程序員Java培訓(xùn)分享maven-概述

       好程序員IT 2020-08-03

        好程序員Java培訓(xùn)分享maven-概述一、為什么要使用Maven,在沒有Maven之前我們的開發(fā)存在的問題

        項(xiàng)目如果需要引入第三方的開源庫(kù)就必須去官方網(wǎng)站或別的途徑去下載jar,然后將下載襲來的jar包必須手動(dòng)復(fù)制,粘貼到WEB-INF/lib目錄下,當(dāng)某些jar包有依賴的時(shí)候,還要去下載對(duì)應(yīng)的依賴jar,如果不小心漏掉了,程序運(yùn)行直接出錯(cuò)

        jar包去哪里下?

        要對(duì)jar包升級(jí)怎么辦?

        jar包依賴沖突了怎么辦?

        然后項(xiàng)目寫完之后,我們需要對(duì)項(xiàng)目進(jìn)行編譯,測(cè)試,打包,部署等一系列工作,操作起來都不是特別的簡(jiǎn)潔,所以這個(gè)時(shí)候Maven就出現(xiàn)了

        二、什么是Maven

        Maven是一個(gè)采用純Java編寫的開源項(xiàng)目管理工具, Maven采用了一種被稱之為Project Object Model (POM)概念來管理項(xiàng)目,所有的項(xiàng)目配置信息都被定義在一個(gè)叫做POM.xml的文件中

        POM怎么理解?

        我們使用Java是面向?qū)ο缶幊?,?duì)象就是我們的類

        Maven是面向項(xiàng)目,把我們的項(xiàng)目看做成是一個(gè)對(duì)象來進(jìn)行管理

        是一個(gè)跨平臺(tái)的項(xiàng)目管理工具,主要服務(wù)于Java平臺(tái)的項(xiàng)目構(gòu)建、依賴管理和項(xiàng)目信息管理。

        項(xiàng)目構(gòu)建:通過插件幫你完成項(xiàng)目的清理、編譯、測(cè)試、打包、部署。比如之前除了編寫源代碼,我們每天有相當(dāng)一部分時(shí)間花在了編譯、運(yùn)行單元測(cè)試、生成文檔、打包和部署等繁瑣而又不得不做的工作上

        依賴管理:通過坐標(biāo)從maven倉(cāng)庫(kù)導(dǎo)入java類庫(kù)(jar文件)。比如之前項(xiàng)目導(dǎo)入jar。是通過copy方式導(dǎo)入項(xiàng)目中,而且還會(huì)存在jar之間的依賴和沖突。而maven解決了這些問題,幫我們下載Jar

        倉(cāng)庫(kù)管理:提供統(tǒng)一管理所有 Jar 包的工具;

        項(xiàng)目信息管理:項(xiàng)目描述、開發(fā)者列表、版本控制系統(tǒng)地址等。比如發(fā)布版本之后我們可能還要對(duì)版本進(jìn)行升級(jí)

        三、其它流行的構(gòu)建工具(了解)

        Java的世界里,目前在被使用的常用構(gòu)建工具有三個(gè):Ant,MavenGradle。

        Ant的核心是由Java編寫,采用XML作為構(gòu)建腳本,這樣就允許你在任何環(huán)境下,運(yùn)行構(gòu)建。Ant基于任務(wù)鏈思想,任務(wù)之間定義依賴,形成先后順序。缺點(diǎn)是使用XML定義構(gòu)建腳本,導(dǎo)致腳本臃腫,Ant自身沒有為項(xiàng)目構(gòu)建提供指導(dǎo),導(dǎo)致每個(gè)build腳本都不一樣,開發(fā)人員對(duì)于每個(gè)項(xiàng)目都需要去熟悉腳本內(nèi)容,沒有提供在Ant生態(tài)環(huán)境內(nèi)的依賴管理工具。

        Maven團(tuán)隊(duì)意識(shí)到Ant的缺陷,采用標(biāo)準(zhǔn)的項(xiàng)目布局,和統(tǒng)一的生命周期,采用約定由于配置的思想,減少構(gòu)建腳本需要的編寫內(nèi)容,活躍的社區(qū),可以方便找到合適的插件,強(qiáng)大的依賴管理工具。缺點(diǎn)是采用默認(rèn)的結(jié)構(gòu)和生命周期,太過限制,編寫插件擴(kuò)展麻煩,XML作為構(gòu)建腳本。

        Gradle同時(shí)擁有AntMaven的優(yōu)點(diǎn),它是基于GroovyDSL,提供聲明式的構(gòu)建語(yǔ)言,采用標(biāo)準(zhǔn)的項(xiàng)目布局,但擁有完全的可配置性,就是可以改,通過插件,提供默認(rèn)的構(gòu)建生命周期,也可以自己定義任務(wù),單獨(dú)運(yùn)行任務(wù),定義任務(wù)間的依賴,強(qiáng)大的依賴管理工具,與MavenIvy倉(cāng)庫(kù)結(jié)合,與Ant天生兼容,有效的重用Ant的任務(wù),多種實(shí)現(xiàn)插件的方式,強(qiáng)大的官方插件庫(kù),從構(gòu)建級(jí)別,支持從Ant或者Maven的逐步遷移,通過包裝器,無縫的在各個(gè)平臺(tái)運(yùn)行。

        如何識(shí)別項(xiàng)目構(gòu)建工具,一般來說,一個(gè)項(xiàng)目的根目錄中就會(huì)包含構(gòu)建工具的配置文件信息,也表明了該項(xiàng)目使用的構(gòu)建工具,通常有如下的對(duì)應(yīng)關(guān)系

        build.xml - 該項(xiàng)目使用Ant構(gòu)建

        pom.xml - 該項(xiàng)目使用Maven構(gòu)建

        build.gradle - 該項(xiàng)目使用Gradle構(gòu)建

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多