java结丹期(15)----javaweb(maven(1))
1.maven的基本概念
Maven的正確發(fā)音是[?mev?n](妹瘟),而不是“馬瘟”以及其他什么瘟。Maven在美國是一個口語化的詞語,代表專家、內(nèi)行的意思。
一個對Maven比較正式的定義是這么說的:Maven是一個項目管理工具,它包含了一個項目對象模型 (POM:Project Object Model),一組標(biāo)準(zhǔn)集合,一個項目生命周期(Project Lifecycle),一個依賴管理系統(tǒng)(Dependency Management System),和用來運行定義在生命周期階段(phase)中插件(plugin)目標(biāo)(goal)的邏輯。
2.Maven能解決什么問題
1、我們需要引用各種jar包,尤其是比較大的工程,引用的jar包往往有幾十個乃至上百個, 每用到一種jar包,都需要手動引入工程目錄,而且經(jīng)常遇到各種讓人抓狂的jar包沖突,版本沖突。
2、世界上沒有不存在bug的代碼,計算機(jī)喜歡bug就和人們總是喜歡美女帥哥一樣。為了追求美為了減少bug,因此寫完了代碼,我們還要寫一些單元測試,然后一個個的運行來檢驗代碼質(zhì)量。
3、再優(yōu)雅的代碼也是要出來賣的。我們后面還需要把代碼與各種配置文件、資源整合到一起,定型打包,如果是web項目,還需要將之發(fā)布到服務(wù)器,供人蹂躪。
試想,如果現(xiàn)在有一種工具,可以把你從上面的繁瑣工作中解放出來,能幫你構(gòu)建工程,管理jar包,編譯代碼,還能幫你自動運行單元測試,打包,生成報表,甚至能幫你部署項目,生成Web站點,你會心動嗎?Maven就可以解決上面所提到的這些問題。
?
2.Maven的兩個精典作用
Maven的依賴管理
maven工程中不直接將jar包導(dǎo)入到工程中,而是通過在pom.xml文件中添加所需jar包的坐標(biāo),這樣就很好的避免了jar直接引入進(jìn)來,在需要用到j(luò)ar包的時候,只要查找pom.xml文件,再通過pom.xml文件中的坐標(biāo),到一個專門用于”存放jar包的倉庫”(maven倉庫)中根據(jù)坐標(biāo)從而找到這些jar包,再把這些jar包拿去運行。
?
項目的一鍵構(gòu)建
我們的項目,往往都要經(jīng)歷編譯、測試、運行、打包、安裝 ,部署等一系列過程。
什么是構(gòu)建?
指的是項目從編譯、測試、運行、打包、安裝 ,部署整個過程都交給maven進(jìn)行管理,這個過程稱為構(gòu)建。
一鍵構(gòu)建
指的是整個構(gòu)建過程,使用maven一個命令可以輕松完成整個工作。
3.Maven的安裝
1.Maven軟件的下載
下載地址http://maven.apache.org/download.cgi
下載后的版本如下:
2.Maven下載后,將Maven解壓到一個沒有中文沒有空格的路徑下,比如D:\software\maven下面。
解壓后目錄結(jié)構(gòu)如下:
?
bin:存放了maven的命令,比如我們前面用到的mvn tomcat:run
boot:存放了一些maven本身的引導(dǎo)程序,如類加載器等
conf:存放了maven的一些配置文件,如setting.xml文件
lib:存放了maven本身運行所需的一些jar包
至此我們的maven軟件就可以使用了,前提是你的電腦上之前已經(jīng)安裝并配置好了JDK。
3.JDK的準(zhǔn)備及統(tǒng)一,JDK使用JDK8版本
4.電腦上需安裝java環(huán)境,安裝JDK1.7 + 版本 (將JAVA_HOME/bin 配置環(huán)境變量path ),我們使用的是JDK8相關(guān)版本
配置 MAVEN_HOME ,變量值就是你的maven安裝 的路徑(bin目錄之前一級目錄)
5.上面配置了我們的Maven軟件,注意這個目錄就是之前你解壓maven的壓縮文件包在的的目錄,最好不要有中文和空格。
再次檢查JDK的安裝目錄,如下圖:
6.Maven軟件版本測試
通過 mvn -v命令檢查 maven是否安裝成功,看到maven的版本為3.5.2及java版本為1.8即為安裝成功。
找開cmd命令,輸入mvn –v命令,如下圖:
我們發(fā)現(xiàn)maven的版本,及jdk的版本符合要求,這樣我們的maven軟件安裝就成功了。
Maven倉庫的分類
maven的工作需要從倉庫下載一些jar包,如下圖所示,本地的項目A、項目B等都會通過maven軟件從遠(yuǎn)程倉庫(可以理解為互聯(lián)網(wǎng)上的倉庫)下載jar包并存在本地倉庫,本地倉庫 就是本地文件夾,當(dāng)?shù)诙涡枰薺ar包時則不再從遠(yuǎn)程倉庫下載,因為本地倉庫已經(jīng)存在了,可以將本地倉庫理解為緩存,有了本地倉庫就不用每次從遠(yuǎn)程倉庫下載了。
? 1.本地倉庫 :用來存儲從遠(yuǎn)程倉庫或中央倉庫下載的插件和jar包,項目使用一些插件或jar包,優(yōu)先從本地倉庫查找
默認(rèn)本地倉庫位置在 ${user.dir}/.m2/repository,${user.dir}表示windows用戶目錄。
?2. 遠(yuǎn)程倉庫:如果本地需要插件或者jar包,本地倉庫沒有,默認(rèn)去遠(yuǎn)程倉庫下載。遠(yuǎn)程倉庫可以在互聯(lián)網(wǎng)內(nèi)也可以在局域網(wǎng)內(nèi)。
? ? 3.中央倉庫 :在maven軟件中內(nèi)置一個遠(yuǎn)程倉庫地址http://repo1.maven.org/maven2 ,它是中央倉庫,服務(wù)于整個互聯(lián)網(wǎng),它是由Maven團(tuán)隊自己維護(hù),里面存儲了非常全的jar包,它包含了世界上大部分流行的開源項目構(gòu)件。
?
?
總結(jié)
以上是生活随笔為你收集整理的java结丹期(15)----javaweb(maven(1))的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java结丹期(14)----javaw
- 下一篇: java结丹期(16)----javaw