Maven2和ivy比较

   


maven 2和ivy常被放在一起对比,但实际上两者是不同类型的工具。ivy仅提供依赖管理功能,但是maven 2是一个软件项目管理综合工具,能够管理构建、报告、文档,以及根据中心化的信息来管理依赖。ant和ivy 2.0集成在一起,与maven 2进行比较才比较合适。

两个工具处理冲突管理(conflict management)的方式是不同的,冲突管理指处理传递依赖时解决冲突的能力。ivy允许由模块定制冲突管理器和规则,而maven 2的冲突管理则基于最近的定义(也就是说,一个模块依赖于foo 1.0,这会导致模块的所有依赖都不能使用foo 1.1)。

maven 2通过一个叫阶段(scope)的概念来处理其中的依赖配置。在maven 2中,一个依赖只在定义它的测试阶段或构建阶段有效。ivy能够创建多配置映射,这些映射可将每个配置(需构建工件的声明)与其它模块的依赖绑定在一起,以此提供了更多的定制选项。

maven 2关于依赖管理的文档很有限,相对于此,ivy的文档内容更宽泛,包含大量的例子和指南,同时包括faq。有些企业不能使用公共仓库,并在基于ant的构建系统中有大量投资,对于这样的企业来说,ivy支持企业仓库的创建、与ant紧密集成,这些附加的特征都使ivy成为能替代maven 2的依赖管理工具。 

你可能感兴趣的:(java,工作)