利用Maven进行开发过程管理

小明作为一个新进开发人员,进入了 职业生涯的第一个软件项目,平日学习的开发技术就可以派上用场了。整个项目组在合作过程结果碰到了许多问题:

忠县ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联建站的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18980820575(备注:SSL证书合作)期待与您的合作!

  1. 小明从SVN拉下分支,准备开发环境导入,结果失败。发现自己用的开发环境和公司的环境不同。

  2. 小明运行写好的程序,结果发现数据库无法连接,找了许多配置文件后,发现原来是自己的某个配置项有问题。

  3. 整体单元测试,情况无法生成报告,观察整体项目情况。

  4. 小明在更新别人的许多代码后,发现程序起不来了,定位问题花了很长时间。

  5. 小明的程序明明改了,可结果就是跟没改前一样。确实程序都发布了啊,后来发现程序依赖了一个jar包的两个版本,而之前的版本先被加载了。

  6. 检验代码风格,规范遵循花了很长时间,且有漏网的。

  二、 基本概念

  Maven是一个项目管理的工具。它对制件和制件间的依赖进行了管理,并使用内置定义生命周期来明确项目管理的阶段,同时提供了在各阶段插入插件的框架。

  1 生命周期管理:

  |概念:

  1.生命周期(lifecycle): 对于软件开发过程做了抽象,将其分成不同阶段。在不同阶段调用绑定的插件来解决特定的问题。

  2. 插件(plugin):对于过程中需要做的功能集合。比如验证文件布局,文件样式;生成覆盖率报告;打包等。

  3. 目标(goal):开发过程中需要做的功能。例如打包等。

  l 目标:

  开发经理可裁剪需要的生命周期,并将生命周期内需要做的功能如打包,生成报告,项目规范的检验等通过插件实现,并绑定到相应的阶段。在不同的地点,让其生命周期重演来确保开发过程与要求的一致性以及结果的可重演性。

  其核心是维持了生命周期(Project Lifecycle),并且在周期中根据POM配置可调用相应的可配置插件来实施个阶段需要做的工作,且运行周期目标时,会调用其先周期绑定的目标。

  2 依赖管理:

  l 概念:

  1. 构件(Artifact):构件是对一个重用单元的抽象。在java中可以是jar包,war包;在c++中可以是dll等。在maven中每一个构件(artifact)都有唯一标识,由groupId,artifactId ,version三要素组成。

  2. 依赖(dependency):构件需要另一个构件才能进行操作的一种关系。一个构件的所有依赖通过pom文件的dependency节点来说明。

  l 目标:

  在运行时扫描pom并得到相应的依赖,然后对每一个依赖的制件的依赖再做提取,最后形成一颗依赖树。

  l 解决的问题:

  增加重用性:将可以重用部分的代码做成制件,增加重用度,减少耦合,降低维护成本。

  发现循环依赖:循环依赖会造成无法重用处在循环依赖中的任意制件,并造成局部问题的扩大化。

  解决jar hell问题:发现依赖树中同时依赖了一个制件的不同版本。对于java而言,两个jar包的同一全名的类只会加载一个,造成运行结果和预期结果的差异,使用其结构可以提前发现并解决。

当前文章:利用Maven进行开发过程管理
分享地址:http://www.shufengxianlan.com/qtweb/news18/24868.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联