Posted on 2010-05-09 14:31
默认为零 阅读(946)
评论(0) 编辑 收藏 所属分类:
技术
M2的依赖库管理有2种,以eclipse IDE为例。
其一,通过mvn eclipse:eclipse生成工程的配置文件.classpath 和.project,我称之为静态依赖库管理(效果见图1),因为每次依赖库的变更,修改pom.xml之后必须重新执行此命令以更新这两个工程配置文件。
图1
其二,通过安装eclipse的maven2插件,并激活此插件的依赖库管理(Enable Dependency Management)(图2)。
图2
当每次依赖库发生变更之时,工程中所依赖的类库自动更新,我称之为动态依赖库管理(效果见图3)。
图3
工程环境搭建好之后,可以将工程代码与.classpath、.project 文件一并上传至版本控制服务器,团队成员下载此工程后可直接导入IDE环境中。此方式的优点可称为所得即所见,当工程依赖库有所变更时,只需版本管理者将依赖变更(在pom.xml中)更新至版本控制服务器,团队成员同步后即生效,无需多余操作。
第一种方式的优点是应用依赖关系生成于IDE工程文件,无需IDE动态维护,对IDE性能和效率有所提高。缺点是当依赖关系发生变化时每次都需要重新维护,且团队成员需要相同的重复操作。当工程浩大且项目依赖第三方组件很多时,考虑到IDE性能因素可采用这种方式。
第二种方式的优点是充分利用了IDE的Maven Plugins所提供的功能,团队的工程环境步调一致,协同性好。缺点是依赖关系动态生成,有一个动态“Updating Maven Dependencies”的过程,对IDE实时性能有所影响。当项目小巧时可考虑这种方式构建工程,快速,敏捷,容易维护,最主要的是一次到位。