Maven还是常春藤? 哪一个更好的系统已经在生产? 还有其他的区别?

我知道这是一个复杂的问题,但是我想知道哪个系统已经投入生产了,哪个更好,还有很多的bug和非常糟糕的devise。 真是一团糟

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

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

我从来没有与常春藤合作,但据我所知,它与ant一起工作,Maven更容易调整项目。 另一方面,Maven更多地使用这个词(我错了吗?),这应该是有原因的!

所以这是我的问题:

  • 与Jenkins / Hudson整合 :与Ivy一样,Maven也如此简单?
  • Sonar插件 :上面同样的问题。 整合很简单?
  • Eclipse插件 :这是Maven的一个弱点。 可怕的插件,但我不知道常春藤的。
  • 部署过程 :一旦configuration完成,使用maven部署和发布项目非常简单。 和常春藤?
  • 转换 :嗯,我把项目转换到Maven的经验很糟糕,但是这个系统没有帮助。 我的select是,Maven对于新项目,以及Maven创build以来与Maven一起工作的项目来说都是惊人的,但是如果你拥有一个大而无组织的项目,那么这个项目并不是一个好的select。 我错了吗?
  • 插件 :这是很多插件被configuration到POM.xml中。 常春藤有这么多的select吗?
  • 人气 :哪个更受欢迎? 哪一个更多使用,为什么?

那是这个。 非常感谢!

首先,阅读常春藤网站的常春藤/ Maven比较 。 关键信息:

首先,最重要的区别是它们根本不是同一种工具。 Apache Maven是一个软件项目pipe理和理解工具,而Apache Ivy只是一个依赖pipe理工具,与Apache Ant™(stream行的构buildpipe理工具)高度集成。 所以也许一个比较有趣的比较会比较Apache Ant + Ivy和Apache Maven。 但是这超出了本页面的范围,而这个页面只关注依赖pipe理。

常春藤向Ant添加了依赖pipe理function,所以真正的问题在于你使用的是什么构build系统:

  • 使用常春藤/ant
  • 迁移到Maven

如果您的构build已经在使用Ant,则由于您的构build脚本不需要移植到不同的构build系统,因此常春藤将是一个更简单的过渡。

如果你决定转换到Maven,那么需要更多的努力,因为你需要重写你的构build脚本,Mavenize,以及configuration你的依赖pipe理。

如果你决定朝着这个方向发展,将你的依赖pipe理configuration从Ivy / Ant移植到Maven也会更容易。 所以,从长远来看,常规的依赖关系pipe理将成为迈向Mavenconfiguration的一个很好的垫脚石。

Interesting Posts