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

Pmt*_*Pmt 50 java ant development-environment ivy maven

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

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

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

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

所以这是我的问题:

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

好吧,就是这样.非常感谢!

pru*_*nge 72

首先,阅读Ivy网站上的Ivy/Maven比较.关键信息:

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

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

  • 使用常春藤/蚂蚁
  • 迁移到Maven

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

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

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

  • @PimentaDev.[此链接提供了两者的非常好的和公平的比较.](http://leshazlewood.com/2010/01/13/maven-2-vs-antivy-revisited/) (2认同)