Maven还是常春藤?已经投入生产的系统哪个更好?和其他差异?

时间:2013-03-22 01:45:26

标签: java maven ant development-environment ivy

我知道这是一个复杂的问题,但我想知道哪一个系统更好,它已经在生产中,有很多错误,而且设计非常糟糕。真的很乱。

实际上,我问这个是因为我已经将这个项目转换为Maven而且我遇到了很多问题。 我需要调整文件夹结构,将公司制作的可怕框架与项目分开(它被转换为jar lib),修复了许多破坏项目的细节,配置POM.xml来制作一切Ant已经在做了并发现了应用程序中真正使用的库作为它们的版本(libs的很大一部分被重命名而没有版本号,而清单文件是空的)。

嗯,这真是个地狱。在这个任务中我疯了,一直跟着我的问题是“如果我把它转换成常春藤?会更容易吗?”。

我从未与Ivy合作过,但据我所知,它与Ant配合使用,然后Maven更容易调整项目。另一方面,Maven它更常用于这个词(我错了吗?),这应该是有原因的!

所以这是我的问题:

  • 与Jenkins / Hudson的整合:使用Ivy,它与Maven一样容易吗?
  • 声纳插件:上面的问题相同。这种集成很简单吗?
  • Eclipse插件:这是Maven的一个非常弱点。插件很糟糕,但我不知道常春藤。
  • 部署流程:一旦配置了所有内容,使用maven部署和发布项目非常容易。和常春藤?
  • 转化:我将项目转换为Maven的经历非常糟糕,但系统没有帮助。我有的选择是Maven对于新项目来说是惊人的,自Maven创建以来与Maven合作的项目,但如果你有一个庞大而无组织的项目,这不是一个好的选择。我错了吗?
  • 插件:这是很多要配置到POM.xml中的插件。常春藤有这么多选择吗?
  • 受欢迎程度:哪个更受欢迎?哪一个更常用,为什么?

嗯,就是这样。 非常感谢!

1 个答案:

答案 0 :(得分:66)

首先,请阅读常春藤网站上的Ivy / Maven comparison。关键信息:

  

首先,最重要的区别是它们根本不是同一种工具。 Apache Maven是一个软件项目管理和理解工具,而Apache Ivy只是一个依赖管理工具,与流行的构建管理工具Apache Ant™高度集成。因此,比较Apache Ant + Ivy和Apache Maven可能会进行更有趣的比较。但这超出了本页面的范围,该页面仅关注依赖管理。

Ivy为Ant添加了依赖管理功能,所以真的,你使用的构建系统的问题是:

  • 使用Ivy / Ant
  • 迁移到Maven

如果您的构建已经使用Ant,Ivy将是一个更容易的过渡,因为您的构建脚本不需要移植到不同的构建系统。

如果您决定转换到Maven,则需要更多工作,因为您需要重写构建脚本并对所有内容进行Mavenize以及配置依赖关系管理。

如果您决定朝着那个方向前进,那么将依赖关系管理配置从Ivy / Ant移植到Maven也会更容易。因此,从长远来看,常春藤依赖管理将成为迈向Maven配置的良好踏脚石。