国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > 建站經驗 > 正文

詳解Maven倉庫之本地倉庫、遠程倉庫

2019-11-02 14:11:44
字體:
來源:轉載
供稿:網友

什么是Maven倉庫

在不用Maven的時候,比如說以前我們用Ant構建項目,在項目目錄下,往往會看到一個名為/lib的子目錄,那里存放著各類第三方依賴jar文件,如log4j.jar,junit.jar等等。

每建立一個項目,你都需要建立這樣的一個/lib目錄,然后復制一對jar文件,這是很明顯的重復。重復永遠是噩夢的起點,多個項目不共用相同的jar文件,不僅會造成磁盤資源的浪費,也使得版本的一致性管理變得困難。

此外,如果你使用版本管理工具,如SVN(你沒有使用版本管理工具?馬上試試SVN吧,它能幫你解決很多頭疼的問題),你需要將大量的jar文件提交到代碼庫里,可是版本管理工具在處理二進制文件方面并不出色。

Maven倉庫就是放置所有JAR文件(WAR,ZIP,POM等等)的地方,所有Maven項目可以從同一個Maven倉庫中獲取自己所需要的依賴JAR,這節省了磁盤資源。此外,由于Maven倉庫中所有的JAR都有其自己的坐標,該坐標告訴Maven它的組ID,構件ID,版本,打包方式等等,因此Maven項目可以方便的進行依賴版本管理。你也不在需要提交JAR文件到SCM倉庫中,你可以建立一個組織層次的Maven倉庫,供所有成員使用。

簡言之,Maven倉庫能幫助我們管理構件(主要是JAR)。

在Maven中,任何一個依賴、插件或者項目構建的輸出,都可以稱之為構件。

Maven在某個統一的位置存儲所有項目的共享的構件,這個統一的位置,我們就稱之為倉庫。(倉庫就是存放依賴和插件的地方)

任何的構件都有唯一的坐標,Maven根據這個坐標定義了構件在倉庫中的唯一存儲路徑,

解讀Maven在倉庫中的存儲路徑:

1.基于groupId準備路徑,將句點分隔符轉成路徑分隔符,就是將  "."  轉換成 "/" ; example: org.testng --->org/testng

2.基于artifactId準備路徑,將artifactId連接到后面:org/testng/testng

3.使用version準備路徑,將version連接到后面:org/testng/testng/5.8

4.將artifactId于version以分隔符連字號連接到后面:org/testng/testng/5.8/tesng-5.8

5.判斷如果構件有classifier,就要在 第4項 后增加 分隔符連字號 再加上 classifier,org/testng/testng/5.8/tesng-5.8-jdk5

6.檢查構件的extension,如果extension存在,則加上句點分隔符和extension,而extension是由packing決定的,org/testng/testng/5.8/tesng-5.8-jdk5.jar

到這里我們就明白了Maven 對于構件存儲的細節。

Maven 倉庫的分類:

maven的倉庫只有兩大類:1.本地倉庫 2.遠程倉庫,在遠程倉庫中又分成了3種:2.1 中央倉庫 2.2 私服 2.3 其它公共庫

1.本地倉庫,顧名思義,就是Maven在本地存儲構件的地方。

注:maven的本地倉庫,在安裝maven后并不會創建,它是在第一次執行maven命令的時候才被創建

maven本地倉庫的默認位置:無論是Windows還是Linux,在用戶的目錄下都有一個.m2/repository/的倉庫目錄,這就是Maven倉庫的默認位置

如何更改maven默認的本地倉庫的位置:這里要引入一個新的元素:localRepository,它是存在于maven的settings.xml文件中

1.1 更改配置用戶范圍的本地倉庫:先在/.m2/目錄下創建settings.xml文件,然后在~/.m2/settings.xml,設置localRepository元素的值為想要的倉庫地址

<settings> <localRepository>D:/maven_new_repository</localRepository> </settings> 

這時候,maven的本地倉庫地址就變成了 D:/maven_new_repository ,注:此時配置的maven的本地倉庫是屬于用戶范圍的。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 孟连| 汉源县| 印江| 百色市| 临安市| 聂拉木县| 鄄城县| 航空| 阳信县| 永仁县| 岳普湖县| 寿宁县| 南宁市| 五指山市| 临沧市| 揭东县| 成武县| 墨玉县| 安仁县| 德兴市| 武定县| 固原市| 郯城县| 苗栗县| 丰镇市| 涡阳县| 湟源县| 临猗县| 雅江县| 山阳县| 天柱县| 松潘县| 宜城市| 南昌市| 高陵县| 邹城市| 泊头市| 潼南县| 墨脱县| 涿鹿县| 徐州市|