學習教程maven2完全使用手冊_第1頁
學習教程maven2完全使用手冊_第2頁
學習教程maven2完全使用手冊_第3頁
學習教程maven2完全使用手冊_第4頁
學習教程maven2完全使用手冊_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

maven2相信maven1大家都已經(jīng)很熟悉了,具體mavenmaven在開完全使與maven1maven2相信maven1大家都已經(jīng)很熟悉了,具體mavenmaven在開完全使與maven1相比,maven2速度方面可以比上ant現(xiàn)在的配置文件只剩下了settings.xml和pom.xml4.新增Dependencyab,b依賴cac隱患,如版本沖突。不過maven也已經(jīng)考慮到了,可以使用exclusions介紹了那么多,現(xiàn)在切入正題,開始 之旅maven2:/download.htmlmaven-proxy:用來代理repository,使用本地庫代替maven2continuum:一個不錯的持續(xù)整合工具,用于自動build。支持ant,mavenmaven用于eclipse,在mavenidea也有相應(yīng)的插件可以使用apachejetty安裝maven2很簡單,把下載來的maven安裝maven2很簡單,把下載來的maven包解開就行了。(目前我的配置都在win2003上,還沒有l(wèi)inuxwindows).m2_home=maven2的安裝目%面使用mvn開始第一個mvean2mvnarchetype:create-DgroupId=com.mycompany.apptifactId,你主要的jar包名稱,也就是你要打成的jar名稱。mvnmvn如果只想編譯testmvntest-mvnmvnwebmvnmvnmvnmvn順便說一下,maven2是有生命周期這一概念的,也就是說如果你執(zhí)行package,相應(yīng)的以前步驟,如compile,test等都會自動執(zhí)行。包,則每次mavenmavn2主站:主要的pom和settings.xmlBetterBuildswithmavn2主站:主要的pom和settings.xmlBetterBuildswith不錯的書,主要通過例子介紹??上Ф际荅下一個主題,會說一下maven2mavenmaven2比起maven1來說,需要配置的文件少多了,主要集中在pom.xml和先來說說settings.xml,settings.xml對于maven來說相當于全局性的配置,用于所有的項目。在maven2中存在兩個settings.xmlmaven2的安裝目錄conf下面,作為全局性配置。maven2/conf下面的settings.xml戶信息,所以另外一個settings.xml就作為本地配置。默認的位置為:${user.dir}/.m2/settings.xml目錄中(${user.dir}指windows中的用戶目錄)。<settingsxmlns="http:///POM/4.0.0"offline:如果不想每次編譯,都去查找遠程中心庫,那就設(shè)true。當然前提是你已經(jīng)下載了必使用于pom.xml,所以通過此配置來保存server信息id:server的id,用于匹配distributionManagementid,比較重要。username,password:用于登陸此服務(wù)器的用戶名和密碼privateKey,passphraseprivatekey,以及問。參照unix文件許可,如664和775<name>PlanetMirrorurl:鏡像的urlprotocol,host,port:protocol://host:portusernamepassword:用戶名和密碼nonProxyHosts:不需要代理的host類似于pom.xml中的profileactivation,repositories,pluginRepositories和properties元素剛開始接觸的時候,可能會比較迷惑,其實這是maven2單獨定義profilerepositories如下的配置,定義了本地開發(fā)庫,用于release發(fā)布。<name>Internal開發(fā)庫<name>Internal開發(fā)庫releases,snapshots:Release或者snapshot(注:release和snapshotrelease一般是比較穩(wěn)定的版本,而snapshot基本上不穩(wěn)定,只是作為快照maven的properties作為placeholder值,如ant的properties。包括以下的5種類型值:project.x:返回pomproject.versionsettings.x:返回settings.xml中定義的元素用于激活此<name>Windows<name>Windowsfile:除了使用activationprofile,同樣可以通過activeProfilesActive表示激活的profile,通過profileid<activeProfile>env-test</activeProfile>指定的profilemaven配置篇之說完了settings.xmlmaven2的主要配置pom.xml什么是pom?pom作為項目對象模型。通過xml表示maven項目,使用pom.xml快速察看<!--TheBasics<!--TheBasics--<!--BuildSettings--<!--MoreProjectInformation--<!--EnvironmentSettings--基本內(nèi)容mavenpom定義了最小的maven2元素,允許groupId,artifactId,version基本內(nèi)容mavenpom定義了最小的maven2元素,允許groupId,artifactId,versionmojo生成的相對路徑為:/org/codehaus/mojoartifactId:packaging:打包的機制,如pom,jarmaven-plugin,ejb,war,ear,rar,parclassifier:分類POM依賴關(guān)系groupId,artifactId,version:··mvninstall:install-file–Dfile=non-maven-proj.jar–DgroupId=some.group–DartifactId=non-maven-proj–Dversion=1創(chuàng)建自己的庫,并配置,使用deploy:deploy-設(shè)置此依賴范圍為system····compile···test:用于test任務(wù)時使用···test:用于test任務(wù)時使用systemPath:僅用于范圍為system:表示項目maven-embedder需要項目maven-coremaven-合成(或者多個模塊build主要用于編譯設(shè)置,包括兩個主要的元素,build和注意:包括項目build和profile<!--"ProjectBuild"contains<!--"ProjectBuild"containsmoreelementsthanjusttheBaseBuildset--<!--"ProfileBuild"containsasubsetof"ProjectBuild"selements--directory:編譯輸出的目錄finalName:資源你項目中需要指定的資源。如spring配置文件插resources:resource的列表,用于包括所有的資源targetPath:指定目標路徑,用于放置資源,用于buildfiltering:是否替換資源中的屬性placeholddirectory:資源所在的位置includes:excludes:testResources:在buildjdk5.0extensions:trueorfalse,是否裝載插件擴展。默認inherited:trueorfalsepoms,那些繼承于此的項目configuration:指定插件配置dependencies:executions:用于配置execution<echo>BuildDir:goals:phaseinherited:falsemavenconfiguration:表示需要擴展的插件,必須包括進相應(yīng)的build用于在sitemaven用于在sitemavenReport更多的項目name:項目除了artifactId更多的項目name:項目除了artifactIddescriptionurl:項目url<name>Apache<comments>Abusiness-friendlyOSS<name>Codehaus<organization>NoelleIssue定義相關(guān)的bug跟蹤系統(tǒng),如bugzilla,testtrack,clearQuestContinuousIntegrationMailing<name>User軟件配置管理,如cvs配置同setting.xmlPlugin配置同setting.xmlPlugin配置同Distribution用于配置分發(fā)管理,配置相應(yīng)的產(chǎn)品發(fā)布信息,主要用于發(fā)布,在執(zhí)行mvndeploy配置到文件系<name>Proficiossh2<name>Proficiosftp<name>Proficiossh<name>Proficio<name>Proficio5ftp<name>Proficiorepositorysettings.xml中的server類似于settings.xml中的profiles使用maven2maven2:/download.htmlcontinuum:一個不錯的持續(xù)整合工具,用于自動build。支持ant,maven創(chuàng)建一致的全局的配置文件//公司內(nèi)部庫release版本,serverid對應(yīng)于id,用于在deploy時,訪問使用,主要存用戶名和//公司內(nèi)部庫release版本,serverid對應(yīng)于id,用于在deploy時,訪問使用,主要存用戶名和密//目前的開發(fā)庫snapshot<!--定義核心庫maven鏡像,maven-proxy實現(xiàn)<id>central-<name>Internal<name>Internal<!--定義內(nèi)部庫,包括公司的所有release版本<id>internal-<name>Internal<url>:8080/repo-<!--定義內(nèi)部庫,包括公司的所有release版本<id>internal-<name>Internal<url>:8080/repo-<name>InternalPlugin<url>:8080/repo-<!--定義內(nèi)部開發(fā)庫,也可以合并snapshotrelease<id>snapshot-<name>Internal<url>:8080/repo-<name>Internal<url>:8080/repo-<name>InternalPlugin<url>:8080/repo-<activeProfile>central-<activeProfile>internal-<activeProfile>snapshot-插件默認groupId激活的profiles激活的profiles創(chuàng)建共享開設(shè)置內(nèi)部開發(fā)庫是簡單的,使用http協(xié)議,可以使用存在的http服務(wù)器?;蛘邉?chuàng)建新的服務(wù),使用apache,或者jetty設(shè)置另外一個開發(fā)庫,用于設(shè)置項目的snapshot庫:8080/repo-maven-proxy設(shè)從網(wǎng)上直接下載maven-proxy-standalone-0.2-app.jar和java-jarmaven-proxy-standalone-0.2-app.jar設(shè)置repo.list#maven的中心庫<id>property-以后所有的遠程庫,都通過此方式增加。順便說一下,不要忘了注釋原來的example以后所有的遠程庫,都通過此方式增加。順便說一下,不要忘了注釋原來的example端口號創(chuàng)建標準的組織察看一下maven<artifactId>maven-<artifactId>maven-<url>/maven-<module>maven-scm-<module>maven-scm-在mavenmaven父pom在mavenmaven父pomapache<artifactId>maven-<name>MavenAnnouncements對于項目自身來說,父pom很少更新。所以,最后的方式保存父pom對于項目自身來說,父pom很少更新。所以,最后的方式保存父pom們能夠checkout,更改和配置<name>ApacheSoftware<name>ApacheSnapshot<url>/maven-snapshot-Continuum持久整Continuum持久整可以使用maven的continuum作為持久整合的服務(wù)。安裝continuum,比較簡,使用以下的命令:C:\mvnbook\continuum-1.0.3>bin\win32\

溫馨提示

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

評論

0/150

提交評論