詳解Maven倉(cāng)庫(kù)之本地倉(cāng)庫(kù)、遠(yuǎn)程倉(cāng)庫(kù)-創(chuàng)新互聯(lián)

什么是Maven倉(cāng)庫(kù)

創(chuàng)新互聯(lián)建站服務(wù)項(xiàng)目包括從化網(wǎng)站建設(shè)、從化網(wǎng)站制作、從化網(wǎng)頁(yè)制作以及從化網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,從化網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到從化省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

在不用Maven的時(shí)候,比如說(shuō)以前我們用Ant構(gòu)建項(xiàng)目,在項(xiàng)目目錄下,往往會(huì)看到一個(gè)名為/lib的子目錄,那里存放著各類第三方依賴jar文件,如log4j.jar,junit.jar等等。

每建立一個(gè)項(xiàng)目,你都需要建立這樣的一個(gè)/lib目錄,然后復(fù)制一對(duì)jar文件,這是很明顯的重復(fù)。重復(fù)永遠(yuǎn)是噩夢(mèng)的起點(diǎn),多個(gè)項(xiàng)目不共用相同的jar文件,不僅會(huì)造成磁盤資源的浪費(fèi),也使得版本的一致性管理變得困難。

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


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


簡(jiǎn)言之,Maven倉(cāng)庫(kù)能幫助我們管理構(gòu)件(主要是JAR)。

在Maven中,任何一個(gè)依賴、插件或者項(xiàng)目構(gòu)建的輸出,都可以稱之為構(gòu)件。


Maven在某個(gè)統(tǒng)一的位置存儲(chǔ)所有項(xiàng)目的共享的構(gòu)件,這個(gè)統(tǒng)一的位置,我們就稱之為倉(cāng)庫(kù)。(倉(cāng)庫(kù)就是存放依賴和插件的地方)


任何的構(gòu)件都有唯一的坐標(biāo),Maven根據(jù)這個(gè)坐標(biāo)定義了構(gòu)件在倉(cāng)庫(kù)中的唯一存儲(chǔ)路徑,


解讀Maven在倉(cāng)庫(kù)中的存儲(chǔ)路徑:


1.基于groupId準(zhǔn)備路徑,將句點(diǎn)分隔符轉(zhuǎn)成路徑分隔符,就是將  "."  轉(zhuǎn)換成 "/" ; example: org.testng --->org/testng


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


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


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


5.判斷如果構(gòu)件有classifier,就要在 第4項(xiàng) 后增加 分隔符連字號(hào) 再加上 classifier,org/testng/testng/5.8/tesng-5.8-jdk5


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


到這里我們就明白了Maven 對(duì)于構(gòu)件存儲(chǔ)的細(xì)節(jié)。


Maven 倉(cāng)庫(kù)的分類:


maven的倉(cāng)庫(kù)只有兩大類:1.本地倉(cāng)庫(kù) 2.遠(yuǎn)程倉(cāng)庫(kù),在遠(yuǎn)程倉(cāng)庫(kù)中又分成了3種:2.1 中央倉(cāng)庫(kù) 2.2 游戲 2.3 其它公共庫(kù)


1.本地倉(cāng)庫(kù),顧名思義,就是Maven在本地存儲(chǔ)構(gòu)件的地方。


注:maven的本地倉(cāng)庫(kù),在安裝maven后并不會(huì)創(chuàng)建,它是在第一次執(zhí)行maven命令的時(shí)候才被創(chuàng)建


maven本地倉(cāng)庫(kù)的默認(rèn)位置:無(wú)論是Windows還是Linux,在用戶的目錄下都有一個(gè).m2/repository/的倉(cāng)庫(kù)目錄,這就是Maven倉(cāng)庫(kù)的默認(rèn)位置

如何更改maven默認(rèn)的本地倉(cāng)庫(kù)的位置:這里要引入一個(gè)新的元素:localRepository,它是存在于maven的settings.xml文件中


1.1 更改配置用戶范圍的本地倉(cāng)庫(kù):先在/.m2/目錄下創(chuàng)建settings.xml文件,然后在~/.m2/settings.xml,設(shè)置localRepository元素的值為想要的倉(cāng)庫(kù)地址


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

網(wǎng)站欄目:詳解Maven倉(cāng)庫(kù)之本地倉(cāng)庫(kù)、遠(yuǎn)程倉(cāng)庫(kù)-創(chuàng)新互聯(lián)
文章位置:http://www.bm7419.com/article0/ceeooo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、網(wǎng)站導(dǎo)航、小程序開發(fā)、軟件開發(fā)、手機(jī)網(wǎng)站建設(shè)外貿(mào)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)