应用Maven简化项目管理.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
应用Maven简化项目管理.doc

应用Maven简化项目管理 【摘 要】我们通常将Ant用于java项目的构建,编译、打包等任务都可以在一个build.xml中完成,碰到的问题也是很多的,比如每个项目结构的build.xml相差较大等,Maven的出现,极大的改观了这个问题。文章重点介绍了使用Maven管理项目的基本概念。项目对象模型、依赖管理系统、仓库与插件构成了Maven强大功能的基础。总结了Maven在项目管理中的最佳实践,从建立统一的项目结构到项目依赖包的管理,以及在Eclipse集成开发环境中集成、使用Maven的特性。 【关键词】Maven;项目;仓库;依赖管理;插件 1 Maven概述 什么是Maven?Apache给Maven的定义是:Maven是一个项目管理工具,由一个项目对象模型,一组标准集合,一个项目生命周期,一个依赖管理系统,以及用来定义在生命周期阶段中插件目标的逻辑组成。 2 Maven基础 项目作为Maven的基本概念,包含pom.xml的任何一个文件都是一个项目,及项目被定义为项目对象模型。项目之间可以相互依赖,一个项目也可能由多个子项目构成,另外,项目之间还可以继承。 坐标是一个项目的唯一标识,它包括groupId、artifactId和version。groupId定义了项目属于哪个组,这个组往往和项目所在的组织或公司存在关联,artifactId定义了当前Maven项目在组中唯一的ID,version顾名思义就是当前项目的版本。 在Maven中另一个重要概念就是仓库(Repository)。因为坐标机制,不同Maven项目使用任何一个构建都是完全相同的。在此基础上,Maven可以在一个统一的位置存储所有Maven项目共享的构件,这个统一的位置就是仓库。因为任何一个构件都有其唯一的坐标,根据这个坐标可以定义其在仓库中的唯一存储路径,这便是Maven的仓库布局方式。譬如:groupId org.testng,artifactId testng,version 5.8,classifier jdk15,packaging jar。生成的路径:org/testng/testng/5.8/testng-5.8-jdk15.jar。 仓库的功能是非常强大的,特别是私服,它可以节省外网带宽,加速Maven构建,部署第三方构建,提高稳定性、增强控制,降低中央仓库负荷等。有了仓库不同的项目不需要再各自包含所依赖的三方库,仓库会自动在多个项目之间共享库。此外,不同项目也可以调用mvn install产生自己的构建件,然后部署到中央仓库、远程仓库或者私服,其他项目如果有依赖,可以很方便的下载到。 Maven强大的真正原因在于其插件机制,Maven的核心几乎不做什么实际的事情,除了解析一些xml文档,管理生命周期和插件之外,什么也不懂。其余功能都是委派给一组Maven插件去实现,所以Maven下载很小,在实际执行Maven任务时,根据需要自动下载相应的插件。插件能够影响Maven的生命周期,提供对目标的访问。Maven插件大部分用java开发,同时也支持BeanShell、Ant编写的插件,用户自己也可以编写专用的插件。 3 Maven管理项目的实践 3.1 标准化的项目结构 定义了项目的标准模版,这是Maven的一个重要的特性。使用命令行式操作,通过命令mvn archetype:create -DgroupId com.test -DartifactId test-app,就创建了一个简单的Maven项目,无需一行脚本,就能实现众多功能。同时,Maven还提供了类型模版,通过添加参数-DarchetypeArtifactId 类型名 即可完成创建。 3.2 类库的管理 类库管理是Maven的一个重要特色。在pom.xml中配置好jar包的版本和依赖,能方便实现对jar文件的管理。同时Maven通过对pom.xml文件的管理来处理jar包间的依赖。比如有一个jar文件为google.jar,同级目录必然有一个和它相关的pom.xml文件,这个pom.xml文件肯定配置了google.jar对其他jar包的依赖。这时需要我们手动去下载依赖包,在执行Maven命令时会自动下载相应的依赖包,这叫传递性依赖,只需配置对google的依赖而无需关心google对其他jar的依赖。 由于pom.xml文件对jar包的管理,使得Maven有一个特性:项目文件的容量很小。以前一个web项目里,库文件都需要存放到WEB-INF/lib下,同时存入源代码库中,动辄几十M。通过Maven管理,仅需要一个pom.xml,项目文件一般几百K。 3.3 Maven和Eclipse的结合 Maven和Eclipse的结合,使得Maven的使用更加方便。这得益于m2ec

文档评论(0)

lnainai_sj + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档