Maven2基礎(chǔ)教程_第1頁(yè)
Maven2基礎(chǔ)教程_第2頁(yè)
Maven2基礎(chǔ)教程_第3頁(yè)
Maven2基礎(chǔ)教程_第4頁(yè)
Maven2基礎(chǔ)教程_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Mave n2基礎(chǔ)教程-環(huán)境配置目標(biāo)通過(guò)本文,您可以了解 Maven2將Maven2安裝到本地機(jī)安裝Maven的eclipse插件在SVN上下載一個(gè)項(xiàng)目,并使用Maven2編譯、測(cè)試、安裝、部屬等生成eclipse 的項(xiàng)目文件,并使用eclipse 的IDE編輯在eclipse中使用Maven方式開(kāi)發(fā)準(zhǔn)備預(yù)備知識(shí)本文假設(shè)您以掌握如下的知識(shí)JDK的安裝及使用eclipse的安裝及使用簡(jiǎn)單的命令行方式預(yù)備軟件在閱讀本文的過(guò)程中,會(huì)使用下列軟件,所有軟件都附有下載連接地址JDK : jdk-1 5 0 17-windows-i586-p.exe eclipse : eclipse-SDK-341-w

2、i n32.zipMave n : apache-mave n-2.0.10-b in. zip安裝軟件安裝JDKJDK的安裝,此處省略.JDK安裝注意JDK安裝完成后請(qǐng)務(wù)必設(shè)置JAVA_HOM環(huán)境變量,否則 mave n2無(wú)法運(yùn)行安裝 eclipseeclipse 安裝此處省略安裝 Maven2將剛才下載的包 apache-maven-2.0.10-bin.zip 解壓到 D:maven2 下,會(huì)出現(xiàn)如下目錄結(jié)構(gòu)D:maven2 +-bin +-boot +-conf +-bin設(shè)置環(huán)境變量,在系統(tǒng)環(huán)境變量PATH中加入D:maven2bin ,并且設(shè)置環(huán)境變量M2_H0ME=d:maven

3、2開(kāi)啟命令行方式,輸入一Microsoft Windows XP 版本 5.1.2600 (C) 版權(quán)所有 1985-2001 Microsoft Corp.e:Vtotype*mvn*INF0 Scanning for projects.INF0 ERR0R BUILD FAILUREINF0 INF0You must specify at least one goal. Try mvn install to build or mvn -help for options See for more informat

4、ion.INF0 INF0 For more information, run Maven with the -e switchINF0 INF0 Total time: 1 secondINF0 Finished at: Tue Mar 24 09:45:26 CST 2009INF0 Final Memory: 1M/2MINF0 配置Maven2使用公司內(nèi)部插件倉(cāng)庫(kù)服務(wù)器由于Maven2的安裝包并不包括插件,所以在使用時(shí)會(huì)自動(dòng)到網(wǎng)絡(luò)上下載需要使用的插件以及依賴(lài)包 等。將Maven配置為使用內(nèi)部插件服務(wù)器,可以加快下載速度Maven2的配置文件放在如下位置 $ 用戶目錄/.m2/setti

5、ngs.xml和 $M2_HOME/conf/settings.xml,查找循序?yàn)?先查找$用戶目錄/.m2/settings.xml ,然后查找$M2_HOME/conf/settings.xml。用戶目錄Win dows 環(huán)境下的用戶目錄一般為C:Docume nts and Setti ngs Login NameLinux環(huán)境下的用戶目錄一般為/home/Login Name用編輯器打開(kāi) settings.xml 文件,找到如下內(nèi)容!- mirror| Specifies a repository mirror site to use instead of a given reposi

6、tory. The repository that| this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used| for inheritance and direct lookup purposes, and must be unique across the set of mirrors.|mirrorIdrepositoryIdHuman Readable Name for this Mirror./repo/path-

7、加入visionsoft/repo/central配置本地倉(cāng)庫(kù)位置Maven會(huì)將內(nèi)部或外部服務(wù)器下載的插件和庫(kù)文件放在本地電腦里。缺省位置為$用戶目錄 /.m2/repository ,為了能夠更好的管理,我們一般調(diào)整本地倉(cāng)庫(kù)的位置。打開(kāi) settings.xml ,找到如下設(shè)置!- localRepository| The path to the local repository maven will use to store artifacts.| Default: /.m2/repository/path/to/local

8、/repo-加入:E:/maven2-repository本文將本地倉(cāng)庫(kù)安裝在E:/mave n2-repository下,倉(cāng)庫(kù)可以安裝在任何位置,只要工作方便即可使用Maven編譯一個(gè)測(cè)試項(xiàng)目由SVN倉(cāng)庫(kù)中檢出測(cè)試項(xiàng)目可以使用任何的SVN客戶端檢出/test-repo/trunk下的工程到E:/velcros/test-repo 下,在此直接使用SVN命令行。$svn co/test-repo/trunktest-repoA test-repotestng.xmlA test-reposrcA t

9、est-reposrctestA test-reposrctestjavaA test-reposrctestjavacomA test-reposrctestjavacomvelcro7A test-reposrctestjavacomvelcro7baseA test-reposrctestjavacomvelcro7baseTestVelcroObject.javaA test-reposrcmainA test-reposrcmainjavaA test-reposrcmainjavacomA test-reposrcmainjavacomvelcro7A test-reposrcma

10、injavacomvelcro7baseA test-reposrcmainjavacomvelcro7baseVelcroObject.javaA test-reposrcmainjavacomvelcro7baseVelcroObjectType.javaA test-reposrcmainjavacomvelcro7baseVelcroValidation.javaA test-reposrcmainjavacomvelcro7baseVelcroUnionObject.javaA test-reposrcmainjavacomvelcro7baseVelcroObjectlD.java

11、A test-reposrcmainjavacomvelcro7baseexceptionA test-reposrcmainjavacomvelcro7baseexceptionVelcroObjectCannotRemoveException.javaA test-reposrcmainjavacomvelcro7baseexceptionVelcroObjectUnsupportTypeException.javaA test-reposrcmainjavacomvelcro7baseexceptionVelcroGeneralException.javaA test-reposrcma

12、injavacomvelcro7baseexceptionVelcroObjectInvalidNameException.javaA test-reposrcmainjavacomvelcro7baseexceptionVelcroObjectDuplicateException.javaA test-reposrcmainjavacomvelcro7baseexceptionVelcroObjectIllegalInheritException.javaA test-reposrcmainjavacomvelcro7baseexceptionVelcroObjectNotFoundExce

13、ption.javaA test-repopom.xml取出版本4。編譯、測(cè)試項(xiàng)目在命令行方式下輸入如下命令,進(jìn)行編譯,及測(cè)試$cd test-repo$mvn testINFO Scanning for projects.INFO INFO Building velcro7-baseINFO task-segment: testINFO Downloading:/repo/org/apache/maven/plugins/maven-resources-plugin/2.3/maven-resources-plugin- 2.

14、3.pom4K downloadedDownloading: /repo/org/apache/maven/maven-artifact/2.0/maven-artifact-2.0.jar 76K downloadedINFO Surefire report directory: E:Velcrostest-repotargetsurefire-reportsRunning TestSuitePASSED: testPropertyPASSED: testCheckNamePASSED: testConstructPASSED

15、: testToString baseTests run: 4, Failures: 0, Skips: 0Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.329 sec Results :Tests run: 4, Failures: 0, Errors: 0, Skipped: 0INFO INFO BUILD SUCCESSFULINFO INFO Total time: 49 secondsINFO Finished at: Tue Mar 24 11:05:27 CST 2009 INFO Final

16、 Memory: 10M/18MINFO 至此,編譯、測(cè)試完成生成發(fā)布文件使用maven生成發(fā)布可以采用如下命令$mvn packageINFO Scanning for projects.INFO INFO Building velcro7-baseINFO task-segment: packageINFO INFO resources:resourcesINFO Using UTF-8 encoding to copy filtered resources.INFO skip non existing resourceDirectory E:Velcrostest-reposrcmain

17、resource INFO compiler:compileINFO Nothing to compile - all classes are up to dateINFO resources:testResourcesINFO Using UTF-8 encoding to copy filtered resources.INFO skip non existing resourceDirectory E:Velcrostest-reposrctestresource INFO compiler:testCompileINFO Nothing to compile - all classes

18、 are up to dateINFO surefire:testINFO Surefire report directory: E:Velcrostest-repotargetsurefire-reportsRunning TestSuitePASSED: testPropertyPASSED: testCheckNamePASSED: testConstructPASSED: testToString baseTests run: 4, Failures: 0, Skips: 0Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time e

19、lapsed: 0.329 secResults :Tests run: 4, Failures: 0, Errors: 0, Skipped: 0INFO jar:jarINFO INFO BUILD SUCCESSFULINFO INFO Total time: 4 secondsINFO Finished at: Tue Mar 24 11:30:29 CST 2009INFO Final Memory: 11M/22MINFO然后再target目錄下可以找到velcro7-base.jar 文件。安裝 eclipse 的 maven插件要在eclipse中使用maven首先需要安裝 m

20、aven插件??梢允褂胑clipse的更新管理器,更新地址 為http:/m2eclipse.s on /update/生成eclipse配置文件Maven2可以直接生成eclipse的項(xiàng)目配置文件,通過(guò)這種方式,可以將項(xiàng)目的依賴(lài)關(guān)系等一起設(shè)定 完成。在項(xiàng)目目錄下輸入$mvn eclipse:eclipse -Ddow nl oadSources=true打開(kāi) eclipse選擇 File-Import項(xiàng)目類(lèi)型選擇 Gen eralMaven Projects在彈出對(duì)話框中:Root Directory 中選擇 E:Velcrostest-repoProjects 中選擇 /

21、pom.xml - com.velcryo7.base:velcro7-base:0.1-PROTOTYPE:jar在eclipse 中使用maven安裝eclipse的maven插件后,可以在eclipse中直接使用菜單調(diào)用常用的 maven命令。方法為1. 選中要使用的項(xiàng)目2. 單擊Run As按鈕,3. 在彈出的對(duì)話框中選擇要執(zhí)行的maven動(dòng)作即可如果需要的動(dòng)作沒(méi)有出現(xiàn),也可以在Run Co nfiguration中進(jìn)行相應(yīng)的配置。Mave n2基礎(chǔ)教程-常用命令目的本文用以介紹一些在項(xiàng)目開(kāi)發(fā)中常用的mave n2命令,通過(guò)本文,您可以了解到1. 建立一個(gè)新項(xiàng)目2. 編譯一個(gè)項(xiàng)目3.

22、編譯及測(cè)試一個(gè)項(xiàng)目4. 生成文檔5. 生成項(xiàng)目站點(diǎn)6. 發(fā)布項(xiàng)目Mave n2常用命令介紹除了建立maven2項(xiàng)目外,其他所有的命令都需要在所在的項(xiàng)目目錄下執(zhí)行建立項(xiàng)目建立項(xiàng)目的命令為mvn archetype:generate -DarchetypeArtifactId=項(xiàng)目類(lèi)型 -DgroupId= 組識(shí)別-DartifactId=項(xiàng)目名稱(chēng) -Dversion= 版本 -Dpackage= 包 項(xiàng)目類(lèi)型(archetypeArtifactld) 可以是下列選項(xiàng)1. maven-archetype-j2ee-simple (J2EE 項(xiàng)目)2. maven-archetype-portlet

23、 ( 門(mén)戶)3. maven-archetype-quickstart ( 一般 Java project)4. maven-archetype-site ( 復(fù)雜站點(diǎn))5. maven-archetype-site-simple ( 簡(jiǎn)單站點(diǎn))6. maven-archetype-webapp (Java Web站點(diǎn)) groupld 用于項(xiàng)目的分組artifactld 項(xiàng)目的名稱(chēng),也就是包名稱(chēng) version 版本package 主要設(shè)定目錄的層次下面是一個(gè)例子#mvn archetype:generate -DarchetypeArtifactld=maven-archetype-qui

24、ckstart -Dgroupld=com.velcro7.framework-Dartifactld=velcro7-base -Dversion=0.1-PROTOTYPE -Dpackage=com.velcro7.base接下來(lái)會(huì)建立如下目錄結(jié)構(gòu)velcro7-base+ src| + main| | + java| | + com| | + velcro7| | + base| | + App.java| + test| + java| + com|+ velcro7|+ base| + AppTest.java+ pom.xml編譯項(xiàng)目編譯項(xiàng)目的命令為#mvn compile執(zhí)行單

25、元測(cè)試執(zhí)行單元測(cè)設(shè)的命令為#mvn test在執(zhí)行單元測(cè)試前,首先會(huì)執(zhí)行編譯動(dòng)作測(cè)試報(bào)告放在 targetsitesurefire-reports生成文檔生成文檔的命令為#mvn javadoc:javadoc生成的文檔會(huì)在 targetsiteapidocs 下生成項(xiàng)目站點(diǎn)生成項(xiàng)目站點(diǎn)的命令為#mvn site:site生成站點(diǎn)放在targetsite下清除項(xiàng)目生成文件清除項(xiàng)目生成文件的命令為#mvn clean:clean打包文件打包文件的命令為#mvn package生成的包文件在 target 目錄下將項(xiàng)目安裝到本地倉(cāng)庫(kù)安裝到本地倉(cāng)庫(kù)的命令為#mvn install發(fā)布項(xiàng)目發(fā)布項(xiàng)目的命

26、令為#mvn deployMaven2基礎(chǔ)教程(3) - pom .xml 文件簡(jiǎn)介目標(biāo)本文用以說(shuō)明如何修改 maven2的主要配置文件pom.xml在適應(yīng)我們的項(xiàng)目需要,通過(guò)本文您可以了 解到1. 如何設(shè)定編譯參數(shù)2. 設(shè)定編譯環(huán)境為UTF-8編碼3. 添加依賴(lài)項(xiàng)4. 添加TestNG框架支持pom.xml 簡(jiǎn)介如下是一個(gè)最基礎(chǔ)的 pom.xml 4.0.0com.velcro7.frameworkvelcro7-basejar0.1-PROTOTYPEvelcro7-basejunitjunit3.8.1test說(shuō)明了項(xiàng)目的名稱(chēng),以及依賴(lài)于 ju

27、nit 的項(xiàng)目。接下來(lái),我們要調(diào)整一下編譯參數(shù)修改 pom.xml調(diào)整編譯參數(shù)編譯參數(shù),主要通過(guò)使用設(shè)定 maven-compile-plugin 來(lái)實(shí)現(xiàn)我們加入如下配置信息 maven-compiler-plugin utf-8 1.5 1.5 如上,可以設(shè)定編譯使用 UTF-8編碼,源碼為JDK1.5的版本,目標(biāo)也為JDK1.5的版本。設(shè)定使用UTF-8編碼除了編譯外,還有資源文件、javadoc等都需要告訴maven使用UTF-8編碼,我們可以設(shè)定如下兩個(gè) 插件maven-resources-pluginUTF-8maven-javadoc-pluginUTF-8添加TestNG的測(cè)試框

28、架支持由于自動(dòng)生成的項(xiàng)目為使用JUnit的測(cè)試框架,但是我們的項(xiàng)目使用TestNG的測(cè)試框架,所以我們需要調(diào)整一下項(xiàng)目的依賴(lài)關(guān)系,并且設(shè)定項(xiàng)目使用的TesgNG配置文件。首先刪除對(duì)于 JUnit 的依賴(lài)junitjunit3.8.1test然后加入如下內(nèi)容org.testng testng 5.8 test jdk15由于TestNG需要不同的包支持JDK15和JDK14所以在此我們要特別指定classifier屬性。如果設(shè)定了vversion屬性,maven會(huì)自動(dòng)下載依賴(lài)項(xiàng)的對(duì)應(yīng)版本,如果沒(méi)有設(shè)置vversion屬性, Maven會(huì)自動(dòng)下載最新版本。由于我們項(xiàng)目的開(kāi)發(fā)周期比較長(zhǎng),所以需要指定

29、版本,防止開(kāi)發(fā)過(guò)程中 由Maven自動(dòng)更換我們使用的依賴(lài)庫(kù)。scopei性,設(shè)定了依賴(lài)項(xiàng)的使用范圍。如果設(shè)定為test表示近測(cè)試時(shí)使用,在打包時(shí)不會(huì)打包該 文件。接下來(lái),我們使用插件 maven-surfire-plugin 設(shè)定 testNG 的配置文件位置,如下vplugin vartifactIdmaven-surefire-pluginv/artifactId vconfigurationvsuiteXmlFilesvsuiteXmlFiletestng.xmlv/suiteXmlFilev/suiteXmlFilesv/configurationv/plugin如上,表示使用 tes

30、tng.xml 作為 testNG 的配置文件如上配置,我們最后的配置文件為vproject xmlns=/POM/4.0.0 xmlns:xsi=/2001/XMLSchema-instancexsi:schemaLocation=/POM/4.0.0/maven-v4_0_0.xsd vmodelVersion4.0.0v/modelVersionvgroupIdcom.velcro7.frameworkv/groupIdvartifactIdvelcro7-basev/artifactId vpackagingjarv/packaging vversion0.1-PROTOTYPEv/version vnamevelcro7-basev/name vurlv/url vbuildvpluginsvpluginvartifactIdmaven-resources-pluginv/artifactIdUTF-8maven-javadoc-plugin UTF-8maven-compil

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論