我知道这是一个复杂的问题,但我想知道对于已经投入生产的系统,哪个更好,有很多错误,而且设计非常糟糕。真是一团糟。
实际上,我之所以问这个问题是因为我已经将这个项目转换为 Maven,而且我面临着很多问题。 我需要调整文件夹结构,将公司制作的糟糕框架从项目中分离出来(它被转换为 jar 库),修复了很多一直破坏项目的细节,配置 POM.xml 以完成所有工作Ant 已经在做并发现应用程序中真正使用的库作为它们的版本(很大一部分库被重命名,没有版本号,并且 list 文件是空的)。
嗯,真的是 hell 。在这个任务中我发疯了,一直跟着我的问题是“如果我把它转换成 Ivy?会更容易吗?”。
我从未与 Ivy 合作过,但据我所知,它与 Ant 合作,而且它比 Maven 更容易适应项目。另一方面,Maven 在整个词中使用得更多(我错了吗?),这应该是有原因的!
所以这是我的问题:
- 与 Jenkins/Hudson 集成:使用 Ivy 就像使用 Maven 一样简单?
- 声纳插件:上面的问题相同。集成起来简单吗?
- Eclipse 插件:这是 Maven 的一个非常薄弱的地方。插件很糟糕,但我不知道 Ivy 的。
- 部署过程:一旦一切就绪,使用 maven 部署和发布项目就非常简单。和 Ivy 一起?
- 转换:嗯,我将项目转换为 Maven 的经验很糟糕,但系统没有帮助。我的选择是 Maven 对新项目来说是惊人的,自创建以来就使用 Maven 的项目,但如果你有一个大而无组织的项目,这不是一个好的选择。我错了吗?
- 插件:需要在 POM.xml 中配置很多插件。 Ivy 有这么多选择吗?
- 人气:哪个更受欢迎?哪个更常用,为什么?
嗯,就是这个。 非常感谢!
最佳答案
首先,阅读Ivy / Maven comparison来自 Ivy 网站。关键信息:
First, the most important difference is that they aren't at all the same kind of tools. Apache Maven is a software project management and comprehension tool, whereas Apache Ivy is only a dependency management tool, highly integrated with Apache Ant™, the popular build management tool. So maybe a more interesting comparison would compare Apache Ant+Ivy vs Apache Maven. But this goes beyond the scope of this page which concentrates on dependency management only.
Ivy 为 Ant 添加了依赖管理功能,所以实际上,关于您使用什么构建系统的问题是:
- 使用 Ivy/Ant
- 迁移到 Maven
如果您的构建已经使用 Ant,Ivy 将是一个更容易的过渡,因为您的构建脚本不需要移植到不同的构建系统。
如果您决定过渡到 Maven,则需要付出更多努力,因为您需要重写构建脚本和 Mavenize 一切,以及配置您的依赖管理。
如果您决定朝那个方向发展,那么将您的依赖管理配置从 Ivy/Ant 移植到 Maven 也会更容易。所以从长远来看,Ivy 依赖管理将是一个很好的 Maven 配置的垫脚石。
关于java - Maven还是 Ivy ?对于已经投入生产的系统,哪一个更好?还有其他的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15561322/