文章出處

Maven依賴和倉庫:在上一篇總結中我們談到了Maven的一大功能就是管理依賴,那么什么事依賴,又如何存儲依賴,已經依賴存放在哪里呢?帶著這樣的問題,請看今天的總結。

坐標

1 .為了能自動化的解析任何一個java構件,Maven就必須將它們唯一標識,這就是依賴基礎的底層基礎----坐標

2.坐標是通過元素定義的,groupid,artifactid,version,packaging.classifier.

org.sonatype.nexusnexus-indexer2.0.0jar

下面解釋一下各個坐標元素

Groupid(必選):定義當前maven項目隸屬的實際項目。(maven項目和實際項目不一定是一一對應的)

Groupid的表達方式與java包名的表達方式類似。

artifactid(必選):該元素定義實際項目中的一個maven項目(模塊)、實際項目名做前綴(方便尋找實際構件)

Version(必選):Maven項目當前所處的版本

Packaging:打包方式

classifier:定義構建輸出的一些附屬構件

依賴的配置

一個依賴可以包含如下一些元素

......        ...        ...        ...............

groupId、artifactId、version:依賴的基本坐標。Maven根據坐標才能找到依賴。

type:依賴的類型,對應于項目坐標定義的packaging。默認為jar。

Scope:依賴的范圍。(控制依賴與三種classpath(編譯classpath、測試classpath、運行classpath)的關系)

compile:編譯,默認,對三種都有效。

test: 測試,只對測試有效,編譯運行無法使用此類依賴。(比如junit)

provided:已提供依賴范圍,對編譯測試有效,運行無效。(比如servlet-api)

runtime:運行時,對測試和運行有效。(比如JDBC驅動)

system:對編譯測試有效,不是通過Maven倉庫解析的。而且往往與本機系統綁定。構建不可移植

倉庫

任何一個構建都有唯一的坐標,根據這個坐標可以定義其在倉庫中的唯一存儲路徑,這便是maven的倉庫布局方式。maven倉庫基于簡單那文件系統存儲的,可方便定位。

本地倉庫

1.每個用戶在自己都有一個路徑為.m2\repository\的本地倉庫目錄(以.開頭的為隱藏文件夾)

2.自定義本地倉庫:

 

       D:\java\repository\      

3.一個構件只有在本地倉庫中之后,才能由其他Maven項目使用。

4.安裝到本地倉庫,在某項目中執行mvn Clean install。

(將項目的構建輸出文件安裝到本地倉庫。具體路徑根據坐標獲得)

遠程倉庫

1.當Maven無法從本地倉庫找到需要的構件的時候,就會從遠程倉庫中下載構件至本地倉庫。

2.每個用戶只有一個本地倉庫,但是可以配置多個遠程倉庫。

中央倉庫

1.一個默認的遠程倉庫。

2.包含了世界上絕大多數的開源java構件,以及相關信息。“開箱即用”

私服

1.局域網上的遠程倉庫

2.私服不存在,從外部遠程倉庫緩存到私服上。或者也能從本地上傳到私服供大家使用

\

 

私服的優點:1.節省外網帶寬 2.加速Maven構建 3.部署第三方構件 4.提高穩定性,增強控制。5.降低中央倉庫的負荷

遠程倉庫的配置

jbossJBOSS Repositoryhttp://repository.jboss.com/maven2truefalse

1.在repositories元素下,可以使用repository子元素聲明一個或者多個遠程倉庫。

2. id----唯一。使用central會覆蓋中央倉庫。

3.url--倉庫的地址

4.releases----控制對發布版構件的下載(enabled為開啟)

5.snapshots----enabled為false表示關閉快照版本的下載

6.layout---默認布局

7.updatepolicy---配置從遠程倉庫檢查更新的頻率 ,默認"daily",never.always,interval

8.checksumPolicy:用來配置Maven檢查檢驗和文件的策略。 Warn---警告,fail 構建失敗,ingnore 忽略

遠程倉庫的認證

1.為了防止非法的倉庫訪問,管理員提供了一組用戶名和密碼,為了能讓Maven訪問倉庫內容,需要配置認證信息.

2.認證信息在settings.xml文件中。(Pom往往是被提交到代碼倉庫中供所有成員訪問,而setting.xml一般只放到本機,在其中配置認證信息更為安全。)

3.使用servers元素和server子元素配置倉庫認真信息。其中的id必須與pom中需要認證的倉庫id一致。

...my-projrepo-userrepo-pwd...

總結

坐標、依賴和倉庫是Maven的一些基本的概念,知道了這些概念就算是知道了Maven的大概,但是對于Maven的認識這才是剛剛起步,所以接下來的文章我們還會一起來學校Maven。

看文倉www.kanwencang.com網友整理上傳,為您提供最全的知識大全,期待您的分享,轉載請注明出處。
歡迎轉載:http://www.kanwencang.com/bangong/20170116/88694.html

文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()