maven倉庫

  • 倉庫簡介:

沒有Maven時,項目用到的.jar文件通常需要拷貝到/ib目錄,項目多了,拷貝的文件副本就多了,佔用磁盤空間,且難於管理。
Maven使用一個稱之爲倉庫的目錄,根據構件的座標統一存儲這些構件的唯一副本,在項目中通過依賴聲明,可以方便的引用構件。

  • 倉庫的佈局:

構件都有唯一的座標,Maven根據座標管理構件的存儲。
文件路徑對應了:groupld/artifactld/version/artifactld-version.packaging-5

  • 倉庫分類:

Maven倉庫分爲本地倉庫和遠程倉庫,尋找構件時,首先從本地倉庫找,找不到則到遠程倉庫找,再找不到就報錯。
在遠程倉庫中找到了,就下載到本地倉庫再使用。
中央倉庫是Maven核心自帶的遠程倉庫。·除了中央倉庫,還有其它很多公共的遠程倉庫。

  • 本地倉庫:

Maven 本地倉庫默認地址爲:${user.home]/.m2/repository。
通過修改%MAVEN_HOME%/conf/settings.xml(或者:
${user.home}/.m2/settings.xml,針對當前用戶(推薦))配置文件可以更改本地倉庫的位置。


maven的所有構件均通過座標進行組織和管理。maven的座標通過5個元素進行定義,其中groupld、artifactld、version是必須的,packaging是可選的(默認爲jar),classifier是不能直接定義的。

groupld:定義當前Maven項目所屬的實際項目,跟Java包名類似,通常與域名反向一一對應。
artifactld:定義當前Maven項目的一個模塊,默認情況下,Maven生成的構件,其文件名會以artifactld 開頭,如javax.servlet-api-3.1.0.jar。
version:定義項目版本。

packaging:定義項目打包方式,如jar,war,pom,zip……,默認爲jar。    

    <dependencies>
    <dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.1.0</version>
    <type>jar</type>
    <scope>provided</scope>
    </dependency>
    </dependencies>


使用Maven在pom.xml文件中聲明依賴,可以方便的管理依賴。
type:依賴類型,對應構件中定義的packaging,可不聲明,默認爲jar。
scope:依賴範圍。 

  • 使用Maven管理項目-使用Maven好處 

Maven可以對第三方依賴庫進行統一的版本管理。
使用Maven可以統一項目的目錄結構。
Maven還可以統一項目的構建。
Maven還支持多種插件。
使用Maven可以大大降低項目文件的大小。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章