maven系列筆記(安裝、下載jar、搭建私服)


1,首先到http://maven.apache.org/download.html 下載合適的Maven版本,我下載的是Maven 2.0.9 (zip)。

2,解壓文件到你想安裝的目錄,我的是F:\apache-maven-2.0.9。

3,在環境變量的用戶變量中增加名爲M2_HOME,值爲F:\apache-maven-2.0.9的變量,注意在目錄F:\apache-maven-2.0.9的最後不要加\,即不能爲F:\apache-maven-2.0.9\。同時添加名爲M2,值爲%M2_HOME%\bin的環境變量。在環境變量path的值中加入%M2%.

4,控制檯運行mvn -version,顯示如下信息,則maven基本安裝完成

http://dl.javaeye.com/upload/attachment/224011/a5607138-6549-3603-80f1-3bf25ece0534.jpg


一篇菜鳥級入門文章 
http://fluagen.blog.51cto.com /146595/40086


資料參考: 
http://maven.apache.org/guides/g ... n-five-minutes.html 
http://maven.apache.org/guides/getting-started/index.html

maven配置參考
配置文件一般爲settings.xml,在apache-maven-2.0.9中的路徑爲apache-maven-2.0.9\conf\settings.xml
下面是相關配置片段:

用於指定在本地倉儲的路徑(就是你打算存放jar包等資源的地方)


Xml代碼 
<localRepository>H:\nepo\apache-maven-2.0.9\m2_repo</localRepository>

用於配置代理,非必要情況下可以不設置 
Xml代碼 
<proxies>   
<proxy>   
     <active>true</active>   
     <protocol>http</protocol>   
     <host>proxy.somewhere.com</host>   
     <port>8080</port>   
     <username>proxyuser</username>   
     <password>somepassword</password>   
     <nonProxyHosts>www.google.com|*.somewhere.com</nonProxyHosts>   
   </proxy>   
</proxies>

安全部署設置,對倉儲中的資源的下載做出下載授權限制 
Xml代碼 
<servers>   
<server>   
    <id>repo1</id>   
    <username>repouser</username>   
    <!-- other optional elements:   
      <password>my_login_password</password>   
      <privateKey>/path/to/identity</privateKey> (default is ~/.ssh/id_dsa)   
      <passphrase>my_key_passphrase</passphrase>   
    -->   
</server>   
...   
</servers>

用於自定義一個倉儲,而不使用互聯網上的(可以使用這個建立一個公司共用的jar倉儲,方便管理) 
Xml代碼 
<mirror>   
<!--This sends everything else to /public -->   
        <id>nexus</id>   
        <mirrorOf>*</mirrorOf>   
        <url>http://192.168.1.165:8081/nexus/content/groups/public</url>   
</mirror>

備註:
1:這是一個互聯網倉儲的鏡像,可以選擇一個作爲自己的倉儲鏡像http://docs.codehaus.org/display/MAVENUSER/Mirrors+Repositories

製作企業內部的maven私服
傳奇私服大家應該都聽過,一個網吧自己搞個私服,一夥人免費在上面砍殺。官方因此少賺了很多錢,因此總想打擊。而 maven 官方卻對自建私服很是支持,我們總算可以正正當當搞把私服了( Springside 的老大江南白衣就是創建私服的好手)。我們就來介紹下自建私服的最快方法。

首先需要一個 http server ,找臺服務器裝上 apache 就行。放一個空的 maven 目錄到 htdocs 下,假設服務器 ip 爲 192.168.0.1 ,確認能用http://192.168.0.1/maven   訪問到。然後在自己機器上裝好 maven2 ,初始化好項目(架構者應該會自行創建,普通開發員一般從服務區check out得到),在 pom.xml 放入需要的 jar 定義,運行如 mvn eclipse:eclipse(必須在項目路徑下執行此命令 ) 就自動從官方下載 jar 到本地,如果不做配置,默認本地 repository 爲 ${user.home}/.m2/ 。對於 windows xp 來說一般在 C:\Documents and Settings\ % username%\.m2 下,其中% username %爲操作系統登錄用戶名。這時你可以看到 ${user.home}/.m2/ 下多了個 repository 目錄,裏面有很多的項目相關 jar ,目錄按 groupId/ artifactId/version 排好。把 repository 目錄整個拷貝到 apache 服務器的 maven 目錄下,如果需要官方缺少的 jar 或公司內部 jar ,仿照這個目錄結構,做好 jar 放到 maven 目錄下。自建私服成功!

要使用私服,只需修改 pom.xml ,在 repository 配置後加上:


Xml代碼 
<repository>    
      <id>companyName</id>    
      <url>http:// ${ip}/maven</url>    
</repository>  

這樣需要下載 jar 時,會先到本地 repository 查看,沒有下載過再到官方搜索,沒有找到再到後面的 repository 查找。

做私服網上都推薦使用nexus,不過我沒試過,大家有空可以試試

一些不錯的中文參考文章:
http://www.wujianrong.com/archives/2006/12/maven_3.html 
http://www.wujianrong.com/archives/2006/07/maven.html 
http://www.wujianrong.com/archives/2006/12/maven20.html 
http://www.wujianrong.com/archives/2006/12/_maven.html

如果倉儲中不存在需要的包,可以自行下載並安裝現在,如何處理那些麻煩的Sun的jar包和那些需要但卻不能在遠程存儲庫中找到的jar包了?我們必須使用Maven來手動將這些jar包安裝到本地的存儲庫中。不用擔心,這沒有聽上去那麼困難。爲了做個示例,我們將安裝Java Activation框架的jar包。首先我們必須從Sun的站點上下載此jar包,接着我們使用Maven將它導入本地的存儲庫中。您自己也可以按照 Maven上傳資源指南中的指導將缺少的jar包安裝到Ibiblio中。

Cmd代碼 
mvn install:install-file -Dfile=activation.jar   
-DgroupId=javax.activation -DartifactId=activation   
-Dversion=1.0 -Dpackaging=jar 
例如我在本機上下在一個ant-1.6.5.jar,然後運行如下命令 
Cmd代碼 
h:\apache-maven-2.0.9\bin\mvn install:install-file -Dfile=ant-1.6.5.jar -DgroupId=ant_project -DartifactId=ant -Dversion=1.6.5 -Dpackaging=jar 
就會在本地倉儲F:\Documents and Settings\Administrator\.m2\repository中出現如下文件F:\Documents and Settings\Administrator\.m2\repository\ant_project\ant\1.6.5\ant-1.6.5.jar

這樣我們就可以在項目中使用倉儲中的這個jar包了 
maven命令補充說明4.maven命令

在命令行下輸入mvn -h , 顯示mvn幫助,其中usage: mvn [options] [<goal(s)>] [<phase(s)>]表明了mvn命令的構成。

Options:可選的參數。比如前面提到的-version , -h等。

Goal(s): 表示maven構建的“目標”。比如前面的

mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-app

其中archetype:create表示archetype插件下的create目標。這裏,插件是爲了某種目的構建的目標的集合,maven通過插件擴展其功能。

還可以爲目標傳遞一些參數,比如上面的“-DgroupId=com.mycompany.app -DartifactId=my-app”。

Phase(s):階段。表示maven構建生命週期 中的一個步驟。使用相位命令時,maven會執行生命週期中該階段之前的所有命令,使項目處於指定的“狀態”。

比如在剛纔創建的項目路徑下輸入mvn compile,會創建target文件夾,並編譯class,使項目處於“已編譯”狀態。

maven定義的生命週期中主要的相位如下: 
validate: 驗證項目是否正確以及相關信息是否可用。 
compile: 編譯。 
test: 通過junit進行單元測試。 
package: 根據事先指定的格式(比如jar),進行打包。 
integration-test: 部署到運行環境中,準備進行集成測試。 
verify: 對包進行有效性性和質量檢查。 
install: 安裝到本地代碼庫。 
deploy: 在集成或發佈環境,將包發佈到遠程代碼庫。 
在“默認”的生命週期之外,還有兩個“階段”:

clean: 清除以前的構建物。 
site: 生成項目文檔。 
階段實際上是通過目標的組合實現的。

5.組合命令

可以通過對目標及相位的組合使得一個命令完成多個功能,比如:

mvn clean dependency:copy-dependencies package

相當於按順序執行

mvn clean

mvn dependency:copy-dependencies

mvn package

到這裏,對maven應該有一個初步的印象並能上手使用了吧?更多的內容可以查閱相關的文檔。


本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/vc_asp/archive/2009/02/24/3931942.aspx


發佈了6 篇原創文章 · 獲贊 4 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章