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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

external libraries里没有maven包_Maven企业实战系列(三):彻底看懂maven的体系结构...

發布時間:2023/12/19 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 external libraries里没有maven包_Maven企业实战系列(三):彻底看懂maven的体系结构... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

點擊上方藍字關注我們

在之前的文章,我們已經體驗過了maven的高效率。

那么這篇文章,就來說一說,這個maven命令一執行,各種下載依賴,自動化執行編譯,打包(構建,build發布包),這些東西是怎么跑起來的。

分析Maven相關配置文件

首先maven安裝好后,會有個settings.xml配置文件,它放在了~/.m2目錄下了。如下示意圖:

然后通過maven的archetype創建了maven工程,該maven工程里有一個很重要的配置文件,pom.xml,如下示意圖:

簡單總結settings.xml文件和pom.xml作用:

  • 那么settings.xml文件是maven的全局配置文件。

  • 而我們又有很多的maven工程,每個maven工程又有自己的pom.xml配置文件。那么這個工程自己的pom.xml文件就會配置工程需要的第三方的依賴包。

解析mvn clean package命令

接下來我們看看執行了mvn clean package命令,會發生什么?

第一大步:依賴下載

第一步:電腦安裝的maven首先會去分析settings.xml配置文件里的一些配置(具體哪些配置,后續文章會繼續分析)

第二步:maven會去解析你的maven工程的pom.xml。

第三步:maven會去看你的pom.xml里聲明了哪些依賴。

第四步:maven會去本地的倉庫里去找有沒有哪些依賴。

找的方式其實就是根據你的pom.xml文件中的坐標來找,也就是groupId和artifactId,version(組織和項目,版本號),去本地倉庫找有沒有以組織名和項目名,版本號為名字的文件夾,然后再找有沒有以項目名為名的jar包。例如,有沒有你需要的junit依賴

第五步:如果本地倉庫沒有junit,那么就會去遠程倉庫找junit,并下載到本地倉庫,緩存起來,供你以后去使用。(所謂的遠程倉庫里包含了幾乎所有的依賴包。)

那本地倉庫在哪里呢?默認的位置就在你的%M2_HOME%/.m2/repository文件夾中。

那怎么知道maven默認設置的遠程倉庫的地址呢?它其實在你的maven根目錄下的lib文件夾下,有個maven-model-builder-3.5.2.jar,可以用壓縮軟件打開這個jar包,然后在org/apache/maven/model的目錄下有一個pom-4.0.0.xml,這就是個超級pom.xml,然后打開之后,就能看到它聲明了一個遠程倉庫。如下圖所示步驟可以看到:

一張圖總結下第一大步所做的事:

如下圖中,就體現了maven本地倉庫和遠程倉庫之間的依賴關系:

第二大步

那依賴下載好之后,就該執行下一步了,也就是執行構建(包括清理,編譯,打包)

清理:指得也就是清理上一次構建的文件。上一次構建的文件在maven工程里的target目錄下,清理時會把整個target目錄清除。

編譯:清理完目錄之后,就是重新編譯你的工程代碼

打包:編譯好之后,就是把編譯后的文件打成一個jar包。

如下圖所示:

那最后再用一張圖總結下吧:

喜歡就點個在看再走吧

總結

以上是生活随笔為你收集整理的external libraries里没有maven包_Maven企业实战系列(三):彻底看懂maven的体系结构...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。