java - Maven还是 Ivy ?对于已经投入生产的系统,哪一个更好?还有其他的区别?

标签 java maven ant development-environment ivy

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

实际上,我之所以问这个问题是因为我已经将这个项目转换为 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/

相关文章:

java - maven jboss-as :start A required class was missing . .. org/sonaty.../ArtifactResolutionException

java - 无法导入 org.h2.server.web.WebServlet

java - Ant Java 任务 : how to get output to console and a file-always record build output without shell redirection

java - Tomcat 7 未在浏览器上运行 (http ://localhost:8080/)

java - Java中如何根据屏幕大小改变窗口大小?

java - java类编写语法

java - 在 Netbeans 中生成 Javadoc 被禁用

Java - 从一行中读取特定部分( ""之间)

ant - 忽略属性的覆盖

java - 错误: Could not find or load main class using XML