Maven的安装、配置及使用入门剖析_第1页
Maven的安装、配置及使用入门剖析_第2页
Maven的安装、配置及使用入门剖析_第3页
免费预览已结束,剩余11页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第1章Maven的客户端安装和配置 *top1.1 在 Windows上安装 Maven 耆top1.1.1 检查JDK安装在安装Maver之前,首先要确认你已经正确安装了JDK)Maven可以运行在JDK1.4及以上的版本上。本书的所有样例都基于JDK5及以上版本。打开Windows 的命令行,运行如下的命令来检查你的 Java安装:C:UsersJet>echo %JAVA_HOME%C:UsersJet>java -versi on结果如图2-1所示:C:xUersXjuven Xu>echo zJAUAJIOHEkD:a j dkl 6 0_07C:UsersXj4i

2、uen Xu>java -versionJavaion U1 «6.0_07uJaua<TM> SE Runtime Enuironment <huild 1.0_07b0&>Java HotSpotClient UM <build 10-023, mixed mode, sharingj>图2-1 Windows中检查Java安装上述命令首先检查环境变量 JAVA_HOM是否指向了正确的JDK目录,接着尝 试运行java命令。如果 Windows无法执行java命令,或者无法找到JAVA_HOME 环境变量。你就需要检查Java是否

3、安装了,或者环境变量是否设置正确。1.1.2 下载 Maven请访问 Maven的下载页面:本地安装将安装文件解压到你指定的目录中,如:这里的Maver安装目录是 D:apache-maven-3.0,接着需要设置环境变量, 将Maven安装配置到操作系统环境中。打开系统属性面板(桌面上右键单击“我的电脑属性”),点击 高 级系统设置,再点击环境变量,在系统变量中新建一个变量,变量名为M2_H0ME 变量值为Maven的安装目录D:apache-maven-3.0。点击确定,接着在系统变 量中找到一个名为Path的变量,在变量值的末尾加上M2_H0ME%bi,n注意 多个值之间需要有分号隔开,

4、然后点击 确定。至此,环境变量设置完成,详细 情况如图2-2所示:索烷屋性I-I计算机名硯件高级 隔務护|删丨要进行大多数更改,您必须作为管理员登录。设置CT)环憤变虽00:设置還)图2-2 Windows中系统环境变量配置这里需要提一下的是Path环境变量,当我们在cmd中输入命令时,Windows 首先会在当前目录中寻找可执行文件或脚本,如果没有找到,Win dows会接着遍历环境变量Path中定义的路径。由于我们将 M2_HOME%bn加到了 Path中, 而这里M2_HOME际上是引用了我们前面定义的另一个变量,其值是Maven的安装目录。因此,Windows会在执行命令时搜索目录 D

5、:apache-maven-3.0bin,而mvn执行脚本的位置就是这里。运行如下命令检查 Maven的安装情况:C:UsersJuven Xu> echo %M2_HOME%C:UsersJuve n Xu>mvn -v运行结果如图2-3所示:图2-3 Windows中检查 Maven安装第一条命令echo %M2_HOM用来检查环境变量M2_HOM是否指向了正确的 Maven安装目录;而mvn- version 执行了第一条 Maven命令,以检查 Windows 是否能够找到正确的mvn执行脚本。设置maven本地仓库仓库地址会默认下载到C:UsersAdministrato

6、r.m2 下面,如果不想下到 C盘,可以在maven安装包里面的 conf文件夹下面的setting.xml文件里面加上<localRepository>D:repository</localRepository>就会下载至U D:repositroy 里面。修改完成之后 进入DOS窗口输入:mvn help:system 运行这条命令的就会下载 maven-help-plugin,包括pom文件和jar文件,这些都会被下载到maven的本地仓库下载完之后我们的把 apache-maven-3.0里面的setting.xml文件复制到 本机的.m2文件夹下面这样不直接修

7、改maven自带配置文件 有利于 maven的升级。然后打开setti ng.xml 力口上<mirrors><mirror><id> nexus</id><mirrorOf>*</mirrorOf><url> /nexus/content/groups/public</url></mirror></mirrors>第2章Maven仓库管理器2.1 安装 Nexus2.1.1. 从 Sonatype 下载 Nexus你可以从找到关于Nexus的信息。要下载 Nexus,访问。

8、点击下载链接,下载适用于你平台的存档文件。Nexus目前有ZIP和Gzip归档的TARW中可用形式。2.1.2. 安装 Nexus直接把解压文件放到 下面启动 tomcat 就Ok 啦然后输入 URL http:/localhost:8080/nexus 。链接,你应该看到如下1 Sonatypewalhnw* Servera-WelconwHekuo-Artifact Scartih*P ScorchR NexusTj/peifi theof a praject,artifact iht* Oie tekt boxbel*lRapasrforKsdnd didc Sc-ardi."

9、Advanced Search" an the-Lirft far mane pfiians.HelprIaLog Inty pe NexusOpe-n Source Edition,Version:点击右上角的log in 进行登录默认的NEXU用户名和密码是"admin"和"admin123"。仓库管理器2.1.3. 安装后检查单Nexus带有默认的密码和仓库索引设置,它们都需要更改以满足你的安装需要(以及安全)。安装完并运行了 Nexus后,你需要确认你完成了下列任务:开启远程索引下载Nexus带有三个重要的代理仓库,有中央Maver仓库

10、,Apache快照仓库,和Codehaus快照仓库。它们中的每一个仓库都包含了数千(或数万)的构件,下载 每个仓库的所有内容是不切实际的。处于这个原因,大部分仓库维护了一个编录 了整个内容的Lucene索引,以提供快速和有效的搜索。Nexus使用这些远程索引搜索构件,但是默认设置我们关闭了索引下载。要下载远程索引,1.点击view/Repositorites菜单下面的Repositories ,更改三个代理仓库的Download Remote Indexes 为true。Browse indexCcMifhgura banMfrafsSummarvSra彌e Remote盼Storage1 S

11、onatypeArtjfact Search$ftspostDry 虽For,PoliayRBpMUory SlBdusRepMitory Pnlhpnel -2p阿R出込m servicehttp秋心飾口覇33Advaficed Ssardhijivi.inet-mlproxyvbh1Reteasfki ServiceViews/ Repos it E>ri«M2 3怕血wvirtualiTHTfiflZIn ServicehUp 伽怡Woven CcnlrglprsweyravcnZReleaseIn ServiceRepositoriesFeedshostedmsM-Hn

12、S鼬宙白翱In ServerWefcxxneiREpcsrtQinesServersNcmu*Havem CintrdlAdmiontrsttgn些恥斤环QiDelctE QTrash. * Usff Managed Repositwres *ServerSaveftesetRoutingSdheduledl TasksReport Problem System FitesSeountvLog Configurauon- Plugin CcnsdeChange PasswordUsersRotesPrivilegesRepostory TargetsLD 向 P ConFiqu0&or

13、iinr2.在每个代理仓库上右击然后选择Re-index。这会触发Nexus下载远程的索引文件。Nexus下载整个索引可能需要好几分钟,但是一旦你下载好之后,你就能够搜索 Maven仓库的所有内容了。Son atype想要确信没有创建一个会在默认情况下对中央仓库造成大量拥挤的 产品。虽然大部分用户会想要开启远程索引下载,我们还是不想使之成为默 认设置,当数百万用户下载一个新版本的Nexus继而不断的下载这个21MB勺中央索引的时候,会制造对我们自己的拒绝服务攻击。如果你想要Nexus返回全部的搜索结果,你就必须显式的开启远程索引下载。2.2.使用 Nexus221.浏览仓库BSrrin | L

14、ot t5m«wmFwnPTfcR >_T=Sonatype*Mt¥P*M St理円 jVhwicbd 5tardiVtf M<.i>«pa«Hun*9AtfUMUnAlium FudiAdflMWbiMKphServerRoiAngSdirfuird Tp*sCtahta "ffTriiA. Lhvi Fknqcdh» 翰如ry SMill肠如ry H$raPidibc冃书皿列114津«|afl3|n fi帕"a m _gr mi pPMf-ns ai2kaiiKiiH.3RdKHUlifciF

15、 ,-WKhCKi 皿他1.pi"PH驚i仙叫皿立仙潮的肝hkiiiptiHiAtollpaeiMipiFiHi>:/ U1 uhMkrA- rtjiriFjl."1!Hduu Siriufair wcki aaaatf tAosi 环 比 lAoatra ! irlIHIhPiFfEV>rahiiSFtanri 5inuklF ilKMuid mu'llBLlQlllilaFCll31B&'ECEto嘶tH"H2i 3«f-£«9eI*皿 irl-nl阿叩rahii 1R4um Smukip EK

16、dimd SU&taLiariiiLYaFcaimnpha nri-«lWatanv* HLcpasrtEVKHNexus最直接的用途之一就是浏览 Maver仓库的结构。如果你点击 Views菜单下的Browse Repositories 菜单项。"浏览一个Nexus仓库"中的上面一半给你显示了带有仓库类型和仓库状态的组列表和仓库列表。仓库管理器浏览一个Nexus仓库当你浏览一个仓库的时候,你可以在任意一个文件上右击然后直接下载到你本地。这能让你手工获取某个特定的构件,或者在浏览器中检查一个POM文件。仓库管理器364浏览组Nexus包含排序好的仓库组,它

17、们能让你通过一个单独的URL来暴露一系列的仓库。通常情况下,一个组织会指向两个默认的Nexus组:Public Repositories 组和PublicSn apshot Repositories组。很多最终用户不需要知道哪些构件来自哪个特定的仓库,他们只需要能够浏览公共仓库组就可以了。为了支持这个用例,Maver允许你浏览一个Nexus组的内容,它就像是一归并而来的树状的仓库。B SonatypeMifld: 5«rdi*王Advanced SardhHkwOH却 5&阳1亠Re posi barleySystem FeecteAd WK 皿 t ion*StiverRo

18、utMigScheduled Tasks-Report ProbtemSystem FilesLog Ganguradon 脚 u 学n CcnsaleSecuHlrY*Change Passim ordUsersRates內ivi判H 麼ft&EMiyLDAP 匚 nifiqui a banO亦仙窈g.厉|Tr*_.rIn«p<»cariH "Hipeiloiy *FdhtwIHipMlur ElvlidHdpMloiy PithPudblk Rep»l1oM-9group ma-.wZMp J.tocdtiMtBS&HxiiSi

19、'cDfler'grGu p'p-ubfechplirtilo rm groupgrouphop JUtocfl ti ul* B&aS/ Mje ui/caeU m'q rsu pitDfilDUh歸hHK)>Jta4hMU 蜩険ft«?c曲3i«!冊樹利b命詁pFQftFjn .u aPubfc HegSotlef5hMA9# Browu TndrirHlIiQUrAflicmPublBhimTrue¥辭Ohd4-htd CinMJpA.tfalbb4e Rpofttarit-f主并御曲 豹 MaHrty 壬口曲酊

20、C Ebb'll 二| ji 呕 ME -J壬丹耐N2 1*嗣 詔 OMgle Code NflpWIsmjwewy12lulIjhJ寸ApkJie Snajiihali豹 lt|MiDrni_jrwp223.搜索构件在左边的导航区域,紧靠放大镜有一个构件搜索输入框。要通过groupld或者artifactld搜索一个构件,输入一些文本然后点击放大镜。输入字段"mave n"然后点击放大镜会产生“关键词为"maven"的构件搜索结果”的搜索结果。亘 SonatypeFlrxu%SearchrnrrenAihiancEd SearchRcpflst

21、nne5 Eyslnm FuadsAdiiiiniritribanRDdtJngSdwdkJed TdsfciReport ProtAmnLog S呱 u 他 Bon Plugin Ccnsole-SwwWvChange Ru型erMUeotsRotsRfmlegefiRepasteTY T argcteketone-K±r"4fJ'pritaju. pht»e- icHnc- the- Md*di oniiun.GrwVeras*DawMaid.EHWRragwprl onwfcM pnLUI 003 MUaW Be MV*rwn*iMm.lP'

22、. JirvpdKJriLEhWEoPi El mi wi jpmOTBPttM-pbfl PLUwt 0 0 a.«LEA5£ i?iow JLIpcm. pr. jffwtocjM.vprE4<Mi|«v|L navenraven-ph 0HSLilnl 1 4 45tnwAlVentalp«n淀* dixhecyi也mven-irchetpMLilni 1 4 45hawAA¥er9«MiijHmM-a.2kaunw«enyviarapftucf-ni.rtn-pkjAA-jhLlltil 1 1Alpfim,n

23、rc如| |nkiJ±h MvihMviVrriWia-AidiieALiltil 1 2 fl |£fHw Al VaridiM)T«j 200 nrards 虬 OwRisuflsU 冃审r*MewmgiRmPlQrr:目尹利 «|如1v日沁“ Cam/* IjlOluk_in h 6 r-proH mk-p tiai g q e KLf *N mD0 2.4E LEASE rwnprnin!TMt.|JugBfi Z 7 fl£!.EA$E*|a»dbjar 羽 mWHEtP4HbpluSFJ.42 R£ LEASE-

24、MIFW1 jar叶f Infarm-tKHi2 "曲 In&mb序际ojErroani期師,越41鼻ftrtftctmrmm p raJnmak pbgmv.rgifui-ViQi2iR£LESE,&W*i;旧:皿sdependEncyvKflrMia ULCOj&nWS.nTa.plUQBfific/gUpW 壬 art±HWs maven-p nMrvk-pijgfi < / atfwtld <«TMn>t|i-0.3J?&L£AfiE<ilwrsnn3-在你找出你在要找的构件之后,

25、你可以点击Dow nl oad链接来下载这个构件。Nexus每次为你显示50条结果,并且为你浏览其它搜索结果在底部提供了链接。如果你更喜欢看到 所有匹配构件的列表,你可以在搜索结果面板底部的下拉菜单中选择Fetch All 。除了通过一个groupId或者一个artifactId 搜索,Nexus还有一个功能能让你通过校验和 来搜索一个构件。2.2.4. 配置 Maven使用 Nexus要使用Nexus,你需要配置Maver去检查Nexus而非公共的仓库。为此,你需要编辑在你 的/.m2/settings.xmi文件中的mirror配置。首先,我们会演示如何配置Maver去检查你的Nexus安

26、装而非直接从中央Maver仓库获取构件。在我们覆盖了中央仓库并演示了 Nexus可以工作之后,我们会转回来,提供一个更实际的,包含发布版和快照版的配置 集合。2.2.5. 使用Nexus中央代理仓库要配置Maver去查阅Nexus而非中央Maver仓库,在你的/.m2/settings.xmi 文件中添加 <?xml versio n="1.0"?><setti ngs><mirrors ><mirror ><id >Nexus< /id ><name >Nexus Public Mirro

27、r</name ><url >/url>vmirrorOf>cen tral</mirrorOf ></mirror ></mirrors ></settings >在你将Nexus配置成所有仓库的镜像之后,Maver现在会从本地的Nexus安装查阅,而非去外面查阅中央Maven仓库。如果对Nexus有一个构件请求,本地的 Nexus安装会提供这 个构件。如果Nexus没有这个构件,Nexus会从远程仓库获取这个构件,然后添加至远程 仓库的本地镜像。要测试Nexus如何工作的,从你的本地 Maver仓库中删除一

28、个目录,然后运行Maven构建。如果你删除了 /.m2/repository/org,你会删除一大堆的依赖(包括 Maven 插件)。下次你运行Mave啲时候,你应该看到如下的信息:$ mvn clean installDownloading:.3K downloaded这个输出应该能让你相信 MaveriE和你本地的Nexus通讯,而非向外面的中央 Maver仓 库获取构件。在你基于本地的 Nexus运行过一些构建之后,你就可以浏览缓存在你本 地Nexus中的内容。登陆Nexus然后点击导航菜单的左边的构件搜索。在搜索框中输 入"maven",你应该能看到一些像下面的内容

29、。第三章 pom.xml 文件说明<projectxmlrs=" xmlrs:xsi=" 2001/XMLSchema-irstarce"xsi:schemaLocatior=" "><groupId>packageName</groupId><artifactId>webappName</artifactId><packagirg>war</packagirg><rame>ttplatform</rame><!- 项目说明,描述

30、-><descriptior> 应用开发平台对公司具有战略性意义,也是 2012 年公司的重点项目之一 </descriptior><!- svr 地址,提供源码下载-><scm><correctior>scm:svr:<url></scm><!- 项目持续集成服务器信息 -><ciManagement><system>Hudson</system><url>></ciManagement><!- 项目成员团体信息 -&g

31、t;<developers><developer><id>jet</id><name>Jet-liu</name></developer><developer><id>david</id><name>David-deng</name></developer><developer><id>zhong</id><name>Aaron-zhong</name></developer

32、><developer><id>sunlight</id><name>Sunlight-fang</name></developer></developers><!- bug 跟踪管理软件 -><issueManagement><system>zentao</system><url> /zentao/user-login.html</url></issueManagement><!- 编码及内存设置 -><

33、;properties><jvmargs>-XX:MaxPermSize=384m -Xms512m -Xmx1024m</jvmargs> </properties><!- 使用 Maven 部署构件至 Nexus -><distributionManagement><repository><id>nexus-releases</id><name>ReleasesProxy</name><url> /nexus/content/repositories/r

34、eleases/</url> </repository><snapshotRepository><id>nexus-snapshots</id><name>SnapshotsProxy</name><url> /nexus/content/repositories/snapshots/</url> </snapshotRepository></distributionManagement><dependencies><dependency>

35、<groupId>junit</groupId><artifactId>junit</artifactId><version>4.9</version><scope>test</scope></dependency><dependency><artifactId>core</artifactId><scope>compile</scope></dependency><dependency><grou

36、pId>checkstyle</groupId><artifactId>checkstyle</artifactId><version>5.0</version></dependency><dependency><groupId>org.hsqldb</groupId><artifactId>hsqldb</artifactId></dependency><dependency><artifactId>maven-depl

37、oy-plugin</artifactId><version>2.7</version></dependency> </dependencies> <build><finalName>webappName</finalName><plugins><plugin><!- 用于测试 可选 暂定 -><!- 相关资料 -> <plugin><configuration><skipTests>true</skipTes

38、ts></configuration></plugin><!- 发布版本到 容器 -><!-相关 dos 命令:运行打包部署: mvn tomcat:deploy 撤销部署: mvn tomcat:undeploy 启动 web 应用: mvn tomcat:start 停止 web 应用: mvn tomcat:stop 重新部署: mvn tomcat:redeploy 部署展开的文件: mvn war:exploded tomcat:exploded-><plugin><url></configurati

39、on></plugin><!-帮助自动化项目版本发布,它依赖于POM中的SCM信息 可选 暂定-><!- 相关资料 -><plugin><configuration><tagBase> /svn/TTPlatForm/tags/</tagBase></configuration></plugin><!- 将源码包发布到了 Maven 仓库 -><plugin><execution><id>attach-sources</id&g

40、t;<phase>verify</phase><goals><goal>jar-no-fork</goal></goals></execution></executions></plugin><!- 将 Javadoc 包发布到 Maven 仓库 -><plugin><artifactId>maven-javadoc-plugin</artifactId><version>2.8</version><execu

41、tions><execution><id>attach-javadocs</id><goals><goal>jar</goal></goals></execution></executions></plugin></plugins><!- 站点发布 配置 -><pluginManagement><plugins><plugin><artifactId>maven-site-plugin</artifactId><version>3.0</version>&l

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论