我知道这是一个复杂的问题,但我想知道哪一个系统更好,它已经在生产中,有很多错误,而且设计非常糟糕。真的很乱。
实际上,我问这个是因为我已经将这个项目转换为Maven而且我遇到了很多问题。 我需要调整文件夹结构,将公司制作的可怕框架与项目分开(它被转换为jar lib),修复了许多破坏项目的细节,配置POM.xml来制作一切Ant已经在做了并发现了应用程序中真正使用的库作为它们的版本(libs的很大一部分被重命名而没有版本号,而清单文件是空的)。
嗯,这真是个地狱。在这个任务中我疯了,一直跟着我的问题是“如果我把它转换成常春藤?会更容易吗?”。我从未与Ivy合作过,但据我所知,它与Ant配合使用,然后Maven更容易调整项目。另一方面,Maven它更常用于这个词(我错了吗?),这应该是有原因的!
所以这是我的问题:
嗯,就是这样。 非常感谢!
答案 0 :(得分:66)
首先,请阅读常春藤网站上的Ivy / Maven comparison。关键信息:
首先,最重要的区别是它们根本不是同一种工具。 Apache Maven是一个软件项目管理和理解工具,而Apache Ivy只是一个依赖管理工具,与流行的构建管理工具Apache Ant™高度集成。因此,比较Apache Ant + Ivy和Apache Maven可能会进行更有趣的比较。但这超出了本页面的范围,该页面仅关注依赖管理。
Ivy为Ant添加了依赖管理功能,所以真的,你使用的构建系统的问题是:
如果您的构建已经使用Ant,Ivy将是一个更容易的过渡,因为您的构建脚本不需要移植到不同的构建系统。
如果您决定转换到Maven,则需要更多工作,因为您需要重写构建脚本并对所有内容进行Mavenize以及配置依赖关系管理。
如果您决定朝着那个方向前进,那么将依赖关系管理配置从Ivy / Ant移植到Maven也会更容易。因此,从长远来看,常春藤依赖管理将成为迈向Maven配置的良好踏脚石。