【maven】Maven倉庫管理
原文地址:
http://my.oschina.net/aiguozhe/blog/101537
首先介紹一下Maven的倉庫,然後在說一下如何通過Nexus來建立我們自己的倉庫,以及如何使用。
Maven 倉庫
在以前使用Ant的時候,我們會建立一個lib目錄在存放我們的jar包,比如專案所依賴的第三方包,每建立一個專案都要建立一個lib,不停的做copy工作,不僅是對於磁碟的浪費,而且也造成了版本管理上的麻煩。而且我們還需要通過提交到svn上來對lib進行管理,但是svn對於這種二進位制檔案的管理並不出色。
Maven倉庫的初衷就是為了解決這個問題。 maven倉庫是所有常用的第三方依賴包的集中營。這樣所有的Maven專案就可以從這個倉庫中獲取所需要的資源,Maven倉庫中對jar通過Group Id, Atifact Id, version 來管理,所以Maven專案可以很方便的進行依賴管理。你不需要自己來管理這個龐大的資源倉庫,當然你可以建立一個公司層面的倉庫,這個我在這個章節的後面會介紹。
Maven 倉庫的兩個概念:本地倉庫和遠端倉庫
本地倉庫是遠端倉庫的一個緩衝和子集,當你構建Maven專案的時候,首先會從本地倉庫查詢資源,如果沒有,那麼Maven會從遠端倉庫下載到你本地倉庫。這樣在你下次使用的時候就不需要從遠端下載了。如果你所需要的jar包版本在本地倉庫沒有,而且也不存在於遠端倉庫,Maven在構建的時候會報錯,這種情況可能發生在有些jar包的新版本沒有在Maven倉庫中及時更新。
Maven預設的本地倉庫地址為${user.home}/.m2/repository 。也就是說,一個使用者會對應的擁有一個本地倉庫。當然你可以通過修改${user.home}/.m2/settings.xml
1 2 3 4 5 |
< settings >
...
< localRepository >
D:/java/repository</ localRepository >
...
</ settings >
|
如果你想讓所有的使用者使用統一的配置,那麼你可以修改${M2_HOME}/conf/setting.xml
還可以通過在執行時指定目錄(不推薦這麼做):
?1 |
mvn
clean install
-Dmaven.repo. local = /home/juven/myrepo/
|
當我們建立一個簡單的Maven專案後(只需要在pom.xml配置好依賴項),執行mvn clean install就可以把專案構建好,maven會自動從中央倉庫下載所需的依賴項(即jar包)。這個中央倉庫定義在${M2_HOME}/lib/maven-2.0.10-uber.jar 裡面。你可以在裡面找到/org/apache/maven/project/pom-4.0.0.xml這個檔案,在這個檔案裡面定義了中央倉庫的地址:
?1 2 3 4 5 6 7 8 9 10 11 |
< repositories >
< repository >
< id >
central</ id >
< name >
Maven Repository Switchboard</ name >
< layout >
default</ layout >
< url >http://repo1.maven.org/maven2</ url >
<
|