1. 程式人生 > >Maven依賴機制 工作原理 (分析maven專案和非maven專案的差別)

Maven依賴機制 工作原理 (分析maven專案和非maven專案的差別)

一句話總結:
在 Maven 依賴機制的幫助下自動下載所有必需的依賴庫,並保持版本升級。
 
 詳細解釋:
讓我們看一個案例研究,以瞭解它是如何工作的。假設你想使用 Log4j 作為專案的日誌。這裡你要做什麼?

1.在傳統方式

訪問 http://logging.apache.org/log4j/
下載 Log4 j的 jar 庫
複製 jar 到專案類路徑一般是lib目錄下
手動將其包含到專案的依賴
所有的管理需要一切由自己做
如果有 Log4j 版本升級,則需要重複上述步驟一次。

2. 在Maven的方式

  a.你需要知道 log4j 的 Maven 座標,例如:

<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.14</version>
  b.它會自動下載 log4j 的1.2.14 版本庫。如果“version”標籤被忽略,它會自動升級庫時當有新的版本時。

  c.宣告 Maven 的座標轉換成 pom.xml 檔案。
<dependencies>
    <dependency>
	<groupId>log4j</groupId>
	<artifactId>log4j</artifactId>
	<version>1.2.14</version>
    </dependency>
</dependencies>
  d.當 Maven 編譯或構建,log4j 的 jar 會自動下載,並把它放到 Maven 本地儲存庫
  e.所有由 Maven 管理


總結:
當建立一個Maven的專案,pom.xml檔案將被解析,如果看到 log4j 的 Maven 座標,然後 Maven 按此順序搜尋 log4j 庫:
在 Maven 的本地倉庫搜尋 log4j 
在 Maven 中央儲存庫搜尋 log4j
在 Maven 遠端倉庫搜尋 log4j(如果在 pom.xml 中定義)

如何找到 Maven 座標?
訪問 Maven 中心儲存庫( http://search.maven.org/ ),搜尋下載您想要的jar。