Maven筆記

最近在研究Maven,寫了一個簡單的學習筆記。java

本文全部資料百度雲地址:http://pan.baidu.com/s/1jGn27PGweb

 

首先須要在本機上搭建一個nexus私服.apache

第一步,將Maven總結資料\工具目錄下的nexus-2.1.2.war直接放在D:\Tomcat 7.0\webapps目錄下。tomcat

第二步,啓動tomcat後,在webapps目錄下生成一個nexus-2.1.2目錄。服務器

第三步,停掉tomcat,修改nexus-2.1.2目錄名稱爲nexus。再次啓動tomcat,訪問http://127.0.0.1:9999/nexus 正常,說明nexus私服安裝成功,本機電腦IP爲10.1.16.158,tomcat端口爲9999app

 

 如下目錄:eclipse

前言webapp

1.Maven本地安裝maven

2.在eclipse中配置maven工具

3.在eclipse中創建Web項目

4.在eclipse中使用Maven管理Web

 前言

本人電腦使用的操做系統爲XP,如下文檔是根據本人的電腦環境進行講解和配置的。

1.Maven本地安裝

1.檢查jdk安裝的狀況(1.6以上版本):

Echo %JAVA_HOME%

java -version

在命令行窗口輸入以上命令後,若是出現下圖界面中的反饋信息,說明本機JDK未安裝、環境變量未設置或配置的有問題。須要安裝JDK以及配置環境變量,這裏再也不介紹如何安裝,默認本機已經安裝JDK及配置好到了Path環境變量中。

 

2.設置系統環境變量,JAVA_HOME

 

能夠看到本人的JDK目錄位置爲D:\jdk

3.對工具目錄下的apache-maven-3.0.5-bin.zip進行解壓縮,例如解壓到以下目錄(解壓目錄不要有中文字,不要有空格):

D:\apache-maven-3.0.5,解壓後的目錄結構以下圖。

4.設置系統環境變量,MAVEN_HOME

 

5.設置環境變量Path,將%MAVEN_HOME%\bin加入Path中,必定要注意要用分號;與其餘值隔開

 

6.驗證安裝是否成功,打開cmd窗口,敲入mvn -v 查看

 

出現如上頁面說明MVN已經安裝成功。

2.在eclipse中配置Maven

1.將D:\apache-maven-3.0.5\conf\settings.xml文件複製到目錄C:\Documents and Settings\user\.m2。若是登錄電腦用戶不一樣,須要將user更改成當前電腦登錄用戶名稱。若是沒有.m2目錄,在CMD窗口中執行mvn clean命令後會自動生成此目錄,以下圖

 

報錯信息是由於在當前目錄下沒有pom.xml文件,能夠暫時不用管。

2.解壓工具目錄下的eclipse的J2EE版本加已安裝SVN插件.rar到D盤,將D盤的J2EE版本加已安裝SVN插件目錄下的eclipse目錄剪切到D盤根目錄後,打開eclipse目錄後以下圖。

 

3.點擊eclipse.exe打開eclipse,在eclipse中配置Maven環境。eclipse的默認工做空間爲D:\eclipse\workspace。在eclipse中點擊window下的Preferences後,在彈出的操做窗口中點擊Maven下的Installations後以下圖。

      

在選項Installations中,點擊add,選取本機maven安裝根目錄,以下圖。

 

點擊肯定後,以下圖。

 

到此已經添加本地的Maven到eclipse中,由於eclipse和myeclipse自帶的Maven很不穩定,在開發工具中須要配置使用本機安裝的Maven.

下面再配置User Settings選項,點擊User Settings後以下圖.

 

配置如上圖,若是對settings.xml進行了修改,須要點擊Update Settings。在上圖中能夠看到默認的Maven本地倉庫位置爲C:\Documents and Settings\user\.m2\repository

到此,在eclipse中的Maven環境就配置好了,下面就能夠在eclipse中創建項目,使用Maven了。

3.在eclipse中創建Web項目

第一步,在eclipse中點擊File-New-Project,選擇Maven Project,以下圖。

 

第二步,點擊Next,以下圖。

 

第三步,直接點擊Next後,以下圖。

 

第四步,在上圖中須要選擇maven-archetype-webapp,點擊Next後,以下圖。

 

第五步,在上圖中填入數據,其中projectname能夠修改成項目的簡寫名稱,MavenWeb爲項目名稱,Version選擇默認就能夠(默認爲快照版本),點擊Finish後,一個Mave Web項目就創建好了,切換到JAVA視圖,創建後的項目目錄結構以下圖。

 

由上圖能夠看到在eclipse本身建立的Maven Web項目中,須要手動創建一些目錄纔可以徹底知足Maven約定。這裏再也不手動建立目錄,咱們手動導入一個已經按照Maven約定創建好額外目錄的Maven項目。

4.在eclipse中使用Maven管理WEB項目

第一步,將Maven總結資料\源代碼目錄下的nexusMaven複製到D:\eclipse\workspace目錄下。在eclipse中點擊File-Import後以下圖。

 

第二步,選擇Maven下的Existing Maven Projects,點擊Next後,以下圖。

 

第三步,點擊Browse後,選取nexusMaven目錄,以下圖。

 

第四步,點擊肯定後,以下圖。

 

第五步,點擊Next後,以下圖。

 

第六步,點擊Finish,就完成了導入項目nexusMaven到eclipse中。以下圖。

 

能夠看到nexusMaven比eclipse自動建立的Maven Web項目多了src/test/java和src/main/java兩個目錄。

l  src/main/java存放項目源代碼

l  src/test/java存放測試源代碼

l  src/main/resources存放項目配置文件

l  Maven Dependencies下的jar爲項目依賴的jar

l  webapp相對於myeclipse中web項目的WebRoot目錄

l  target爲項目編譯、測試、文檔輸出目錄。

第七步,修改nexusMaven項目下的pom.xml,將裏面的127.0.0.1:9999所有修改成Maven私服所在的IP和端口號,目前爲10.1.16.158:9999

第八步,使用Maven總結資料\配置文件目錄下的settings.xml文件覆蓋掉C:\Documents and Settings\user\.m2下的settings.xml文件,而且將文件裏面的全部127.0.0.1:9999修改成Maven私服所在的IP和端口號,目前爲10.1.16.158:9999。在此settings.xml文件中將本地倉庫配置在了D:\apache-maven-3.0.5\repository目錄下。

第九步,須要在eclipse中的下圖中,點擊Update Settings,更新settings.xml文件。

 

第十步,下面咱們將執行Maven操做。

首先執行項目清理操做,此操做會刪除target構建目錄,以下圖。

 

選中nexusMaven項目中的pom.xml,單擊鼠標右鍵,選擇Run as下的Maven clean。執行後,控制檯出現[INFO] BUILD SUCCESS信息,說明執行清理成功。

[WARNING]

[WARNING] Some problems were encountered while building the effective settings

[WARNING] Unrecognised tag: 'mirror' (position: START_TAG seen ...e preferred \n   | server for that repository.\n   |-->\n\n   <mirror>... @163:12)  @ C:\Documents and Settings\user\.m2\settings.xml, line 163, column 12

[WARNING]

[INFO] Scanning for projects...

[INFO]                                                                        

[INFO] ------------------------------------------------------------------------

[INFO] Building nexusMaven Maven Webapp 0.0.1-release

[INFO] ------------------------------------------------------------------------

[INFO]

[INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ nexusMaven ---

[INFO] Deleting D:\eclipse\workspace\nexusMaven\target

[INFO] ------------------------------------------------------------------------

[INFO] BUILD SUCCESS

[INFO] ------------------------------------------------------------------------

[INFO] Total time: 0.344s

[INFO] Finished at: Wed Apr 16 13:08:56 CST 2014

[INFO] Final Memory: 2M/15M

[INFO] ------------------------------------------------------------------------

下面執行部署命令,此命令能夠將項目打成WAR包,而且將包安裝到本地倉庫和私服,提供下載和依賴服務。選中nexusMaven項目中的pom.xml,單擊鼠標右鍵,選擇Run as下的Maven build..後,以下圖。

 

在Goals中輸入deploy,點擊最下邊的Run,執行部署命令。執行後,控制檯出現[INFO] BUILD SUCCESS信息,說明執行部署成功。

[WARNING]

[WARNING] Some problems were encountered while building the effective settings

[WARNING] Unrecognised tag: 'mirror' (position: START_TAG seen ...e preferred \n   | server for that repository.\n   |-->\n\n   <mirror>... @163:12)  @ C:\Documents and Settings\user\.m2\settings.xml, line 163, column 12

[WARNING]

[INFO] Scanning for projects...

[INFO]                                                                        

[INFO] ------------------------------------------------------------------------

[INFO] Building nexusMaven Maven Webapp 0.0.1-release

[INFO] ------------------------------------------------------------------------

[INFO]

[INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ nexusMaven ---

[debug] execute contextualize

[WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent!

[INFO] Copying 0 resource

[INFO]

[INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ nexusMaven ---

[WARNING] File encoding has not been set, using platform encoding GBK, i.e. build is platform dependent!

[INFO] Compiling 1 source file to D:\eclipse\workspace\nexusMaven\target\classes

[INFO]

[INFO] --- maven-resources-plugin:2.5:testResources (default-testResources) @ nexusMaven ---

[debug] execute contextualize

[WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent!

[INFO] skip non existing resourceDirectory D:\eclipse\workspace\nexusMaven\src\test\resources

[INFO]

[INFO] --- maven-compiler-plugin:2.3.2:testCompile (default-testCompile) @ nexusMaven ---

[WARNING] File encoding has not been set, using platform encoding GBK, i.e. build is platform dependent!

[INFO] Compiling 1 source file to D:\eclipse\workspace\nexusMaven\target\test-classes

[INFO]

[INFO] --- maven-surefire-plugin:2.10:test (default-test) @ nexusMaven ---

[INFO] Surefire report directory: D:\eclipse\workspace\nexusMaven\target\surefire-reports

 

-------------------------------------------------------

 T E S T S

-------------------------------------------------------

Running com.song.wbgy.user.test.UserTest

User [name=lisong, password=123456]

Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.047 sec

 

Results :

 

Tests run: 1, Failures: 0, Errors: 0, Skipped: 0

 

[INFO]

[INFO] --- maven-war-plugin:2.1.1:war (default-war) @ nexusMaven ---

[INFO] Packaging webapp

[INFO] Assembling webapp [nexusMaven] in [D:\eclipse\workspace\nexusMaven\target\nexusMaven-0.0.1-release]

[INFO] Processing war project

[INFO] Copying webapp resources [D:\eclipse\workspace\nexusMaven\src\main\webapp]

[INFO] Webapp assembled in [47 msecs]

[INFO] Building war: D:\eclipse\workspace\nexusMaven\target\nexusMaven-0.0.1-release.war

[WARNING] Warning: selected war files include a WEB-INF/web.xml which will be ignored

(webxml attribute is missing from war task, or ignoreWebxml attribute is specified as 'true')

[INFO]

[INFO] --- maven-install-plugin:2.3.1:install (default-install) @ nexusMaven ---

[INFO] Installing D:\eclipse\workspace\nexusMaven\target\nexusMaven-0.0.1-release.war to D:\apache-maven-3.0.5\repository\com\song\wbgy\nexusMaven\0.0.1-release\nexusMaven-0.0.1-release.war

[INFO] Installing D:\eclipse\workspace\nexusMaven\pom.xml to D:\apache-maven-3.0.5\repository\com\song\wbgy\nexusMaven\0.0.1-release\nexusMaven-0.0.1-release.pom

[INFO]

[INFO] --- maven-deploy-plugin:2.7:deploy (default-deploy) @ nexusMaven ---

Uploading: http://127.0.0.1:9999/nexus/content/repositories/releases/com/song/wbgy/nexusMaven/0.0.1-release/nexusMaven-0.0.1-release.war

Uploaded: http://127.0.0.1:9999/nexus/content/repositories/releases/com/song/wbgy/nexusMaven/0.0.1-release/nexusMaven-0.0.1-release.war (4 KB at 9.8 KB/sec)

Uploading: http://127.0.0.1:9999/nexus/content/repositories/releases/com/song/wbgy/nexusMaven/0.0.1-release/nexusMaven-0.0.1-release.pom

Uploaded: http://127.0.0.1:9999/nexus/content/repositories/releases/com/song/wbgy/nexusMaven/0.0.1-release/nexusMaven-0.0.1-release.pom (2 KB at 8.2 KB/sec)

Downloading: http://127.0.0.1:9999/nexus/content/repositories/releases/com/song/wbgy/nexusMaven/maven-metadata.xml

Uploading: http://127.0.0.1:9999/nexus/content/repositories/releases/com/song/wbgy/nexusMaven/maven-metadata.xml

Uploaded: http://127.0.0.1:9999/nexus/content/repositories/releases/com/song/wbgy/nexusMaven/maven-metadata.xml (319 B at 3.3 KB/sec)

[INFO] ------------------------------------------------------------------------

[INFO] BUILD SUCCESS

[INFO] ------------------------------------------------------------------------

[INFO] Total time: 3.016s

[INFO] Finished at: Wed Apr 16 13:13:08 CST 2014

[INFO] Final Memory: 10M/25M

[INFO] ------------------------------------------------------------------------

在輸出信息中詳細的記錄的Maven deploy命令的執行過程及執行結果。

 

注:

一、            如何在eclipse中創建Web項目,請查看地址http://hi.baidu.com/sdhzlzhk/item/3c0b26c42786517189ad9e80

二、            Maven Web Project一樣能夠點擊Run as下的Run on Server啓動服務器進行測試,以前須要創建一個Server項目,具體建立方法請查看http://hi.baidu.com/sdhzlzhk/item/3c0b26c42786517189ad9e80

三、            Maven項目的jar包添加方式和以往有很大不一樣,Maver項目使用了本身的依賴管理,經過pom.xml進行配置實現對jar包的依賴管理,具體請查看資料目錄下的文件。Maven使用倉庫和私服共同管理jar包,一個jar包只須要一我的添加一次,其餘人就能夠經過配置pom.xml進行使用,無需重複下載和添加。

四、            Maven能夠將項目的編譯、測試、打包、生成文檔經過maven deploy一塊兒執行。Maven生成的文檔通常不使用。

五、            若是要發佈項目正式版本須要在pom.xml文件中的version屬性值中含有release關鍵字,這樣項目將發佈到私服的正式倉庫,不然將當作非正式版本發佈到私服的快照倉庫。

六、            在使用Maven發佈版本時,須要必定的規範和制度,能夠參考下Maven的版本管理。

 

文章是使用到的安裝包及文檔的百度雲分享地址:http://pan.baidu.com/s/1q5wBG

相關文章
相關標籤/搜索