日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Java-Maven(三):Maven坐标、Maven仓库、Maven生命周期

發(fā)布時間:2024/8/24 编程问答 35 如意码农
生活随笔 收集整理的這篇文章主要介紹了 Java-Maven(三):Maven坐标、Maven仓库、Maven生命周期 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

  之前通過學(xué)習(xí)對maven命令有了部分了解,但是只是知道m(xù)aven是用來做什么。但到目前位置還不足以全面的了解maven,為更全面的了解maven,需要學(xué)習(xí)以下幾個概念:Maven坐標(biāo)、Maven倉庫、Maven生命周期。

Maven坐標(biāo)

maven坐標(biāo)概念:每個構(gòu)件都有自己的一個標(biāo)識(唯一的),它由groupId,artifactId,version等信息組成,因此maven就可以對構(gòu)件進(jìn)行版本控制、管理。

備注:

groupId :公司名稱或者組織名稱;

artifactId:項目名稱;

version:當(dāng)前項目的版本號。

上邊定義maven的概念時提到了構(gòu)件,那么什么是構(gòu)件呢?

------在maven中任何依賴(jar包)、項目輸出(通過其他工具打包的jar、war等)都可以稱為構(gòu)件。

packing:定義maven項目打包的方式,也可以通過定義打包成war等;當(dāng)不定義packing時,maven就會使用默認(rèn)值jar。

classifer:表示在相同版本下針對不同的環(huán)境或者jdk使用的jar,如果配置了這個元素,則將這個元素的名稱附加到報名的后邊。例如:json-0.1-jdk1.6.jar。

Maven倉庫

 maven倉庫定義:在maven中會有一個統(tǒng)一存儲所有項目的共享構(gòu)建的位置,這個統(tǒng)一的位置,我們就稱之為倉庫。

maven倉庫的分類:本地倉庫、遠(yuǎn)程倉庫。

其中遠(yuǎn)程倉庫有分為三種:中央倉庫、私服、其他公共倉庫。

1)本地倉庫:maven在本地存儲構(gòu)件的地方。

注意:maven的本地倉庫,在maven安裝后并不創(chuàng)建,它是在第一次執(zhí)行maven命令的時候才被創(chuàng)建的。

maven本地倉庫的默認(rèn)位置:無論windows還是linux環(huán)境,都是默認(rèn)位置都是在用戶的目錄下的一個./m2/repository/倉庫目錄,這就是maven倉庫的默認(rèn)位置。

maven本地倉庫的默認(rèn)位置更改:通過修改配置文件settings.xml中的localRepository標(biāo)簽,就可以實現(xiàn)。

備注:一般修改時,可以把之前已經(jīng)下載的本地構(gòu)件內(nèi)容賦值到新的構(gòu)件存儲目錄下,這樣就可以省去重新下載構(gòu)件的時間。

Maven生命周期

maven聲明周期概念:它是對所有的構(gòu)建過程進(jìn)行抽象和統(tǒng)一。包含了項目的清理、初始化、編譯、測試、打包、集成測試、驗證、部署和站點生成等幾乎所有的構(gòu)建過程步驟。

Maven有三套相互獨立的生命周期,它們是相互獨立的。分別是:

Clean   :在進(jìn)行構(gòu)件之前進(jìn)行一些清理工作

1)pre-clean:執(zhí)行清理前需要完成的工作;

2)clean:清理上一次構(gòu)建生成的文件;

3)post-clean:執(zhí)行清理后需要完成的工作。

Default:構(gòu)件的核心部分:編譯、測試、打包、部署等

1)validate:驗證工程是否正確,所有需要的資源是否可用;

2)compile:編譯項目的源代碼;

3)test:使用合適的單元測試框架來測試已經(jīng)編譯的源代碼,該測試不需要打包和部署。

4)package:把已編譯的代碼打包發(fā)成可發(fā)布的格式,比如:jar;

5)integration-test:如有需要將包處理和發(fā)布一個能夠進(jìn)行集成測試的環(huán)境。

6)verify:運(yùn)行所有檢查,驗證包是否有效且達(dá)到質(zhì)量標(biāo)準(zhǔn);

7)install:把包安裝到maven本地倉庫,可以被其他工程作為依賴來使用;

8)deploy:在集成或者發(fā)布環(huán)境下執(zhí)行,將最終版本的包拷貝到遠(yuǎn)程的repository,使得其他的開發(fā)者或者工程可以共享。

Site      :生成項目報告、站點,站點發(fā)布。

1)pre-site:生成項目站點之前需要完成的工作;

2)site:生成項目站點文檔;

3)post-site:生成項目站點之后需要完成的工作;

4)site-deploy:將項目站點文件發(fā)布到服務(wù)器。

注意:

運(yùn)行任何一個階段的時候,它前面的所有階段都會被運(yùn)行。例如:運(yùn)行mvn install時,代碼會被編譯、測試、打包。

比如:運(yùn)行mvn site命令,一定會執(zhí)行pre-site該步驟;運(yùn)行mvn site-deploy命令,一定會執(zhí)行pre-site和site這兩個步驟。

總結(jié)

以上是生活随笔為你收集整理的Java-Maven(三):Maven坐标、Maven仓库、Maven生命周期的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。