項(xiàng)目管理工具——Maven學(xué)習(xí)筆記(五、Maven中的坐標(biāo)和倉庫)

Maven為所有的項(xiàng)目在pom引入了坐標(biāo),基于坐標(biāo)機(jī)制可以唯一定位一個(gè)項(xiàng)目。

構(gòu)件:在Maven中,任何依賴(jar包,tomcat等),或項(xiàng)目(自己打包的jar,war等)輸出都可成為構(gòu)件。每個(gè)構(gòu)件都有自己的唯一標(biāo)識(唯一坐標(biāo)),由groupId,artifactId,和version等信息構(gòu)成,由此,Maven就可以對構(gòu)件進(jìn)行版本控制,管理。

根據(jù)前幾篇的學(xué)習(xí),坐標(biāo)包括哪些要素,已經(jīng)呼之欲出了。

<groupId>公司網(wǎng)址反寫.項(xiàng)目名</groupId>
<artifactId>項(xiàng)目名-模塊名</artifactId>
<version>大版本.分支版本.小版本號+版本類型</version>
<packaging>打包方式</packaging>
  1. groupid: 定義當(dāng)前Maven項(xiàng)目所屬的實(shí)際項(xiàng)目。因?yàn)楹芏鄷r(shí)候,一個(gè)實(shí)際的項(xiàng)目很可能有多個(gè)模塊組成,例如org.springframework項(xiàng)目就有spring-core、spring-beans、spring-context等模塊。
  2. artifactId: 定義當(dāng)前Maven項(xiàng)目在所屬實(shí)際項(xiàng)目中的具體模塊名稱。如spring-core為該具體模塊的名稱。
  3. version: 定義Maven項(xiàng)目當(dāng)前的版本。
  4. packaging: 打包方式,包括jar、war、pom等。
  5. classifier: 定義構(gòu)建輸出的一些附屬構(gòu)建。例如,我們生成了一個(gè)構(gòu)建a.jar,我們希望在構(gòu)建的時(shí)候也能生成一個(gè)與a.jar對應(yīng)的其源碼jar包,為a-sources.jar。則a-sources.jar即為附屬構(gòu)建,sources就是該附屬構(gòu)建的classifier。需要注意的是:不能在項(xiàng)目中直接定義classifier,因?yàn)楦綄贅?gòu)建不是默認(rèn)生成的,需要附加的插件才能生成。請參考: Maven中maven-source-plugin,maven-javadoc-plugin插件的使用

下面呢,繼續(xù)學(xué)習(xí)Maven倉庫,Maven倉庫分為本地倉庫、中央倉庫和鏡像倉庫。本地倉庫就是我們電腦上的倉庫,中央倉庫是Maven全球中心倉庫,鏡像倉庫則為內(nèi)容和中央倉庫一樣的另一個(gè)好像鏡子似的倉庫。
我相信,有很多小伙伴用Maven的中央倉庫,下載依賴的jar包很慢,那么,該怎么辦呢?放心,鏡像倉庫會(huì)幫助我們解決這個(gè)問題。

  1. 找到maven路徑中的【conf】文件夾,有個(gè)settings.xml文件,打開找到<mirrors></mirrors>標(biāo)簽,在里邊添加
      <id>alimaven</id>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <mirrorOf>central</mirrorOf>   

這樣,阿里云鏡像就配置好了,以后下載任何jar包都會(huì)很快了~

  1. 接下來,假如我們想把本地倉庫路徑修改到別的盤呢?因?yàn)閙aven默認(rèn)的倉庫路徑是C盤,一旦重裝系統(tǒng),C盤的東西就沒了,所以相對來說,把倉庫安放在別的磁盤上更好。
    還是settings.xml文件,找到【<localRepository>/path/to/local/repo</localRepository>】這一行,復(fù)制放在不是注釋的行里,并將標(biāo)簽內(nèi)容改成其他磁盤的路徑。例如:
Paste_Image.png

然后驗(yàn)證是否ok,打開cmd窗口隨便切換一個(gè)之前測試的demo,進(jìn)行clean掉target目錄,并compile這個(gè)demo。
稍等一兩秒,cmd里顯示BUILD SUCCESS之后,我們找到新倉庫文件夾:


Paste_Image.png

好了,我們更改后的新倉庫成功了!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,628評論 19 139
  • |-1-更新內(nèi)容[6.從倉庫解析依賴的機(jī)制(重要)] 1Maven倉庫作用 倉庫用來存儲(chǔ)所有項(xiàng)目使用到構(gòu)件,在ma...
    zlcook閱讀 6,464評論 0 25
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 47,276評論 6 342
  • 需求背景 maven的一大功能時(shí)管理項(xiàng)目依賴,為了自動(dòng)化解析任何一個(gè)java構(gòu)件,Maven就必須將它們唯一標(biāo)識,...
    zlcook閱讀 1,027評論 0 2
  • maven坐標(biāo) maven的構(gòu)件(jar包)是根據(jù)坐標(biāo)來確定其在倉庫的保存位置的。maven的坐標(biāo)是通過以下元素來...
    Joepis閱讀 636評論 0 4

友情鏈接更多精彩內(nèi)容