Maven 还是常春藤?对于已经投入生产的系统,哪个更好?而其他的区别呢? [英] Maven or Ivy? Which one is better with a system already in production? And the other differences?

查看:26
本文介绍了Maven 还是常春藤?对于已经投入生产的系统,哪个更好?而其他的区别呢?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I know that this is a complicated question, but I would like know which one is better in the case of a system that it's already in production, with a lot of bugs and really bad design at all. A really mess.

实际上,我之所以这么问是因为我已经将这个项目转换为 Maven,但我面临着很多问题.我需要调整文件夹结构,把公司做的一个糟糕的框架从项目中分离出来(它被转换成一个jar lib),修复了很多一直破坏项目的细节,配置POM.xml来制作一切Ant 已经在做并发现应用程序中真正使用的库作为它们的版本(大部分库被重命名,没有版本号,清单文件是空的).

Actually, I'm asking this because I'm already converting this project to Maven and I'm facing A LOT of problems. I needed to adjust the folder structure, separate a terrible framework made at the company from the project (it was converted into a jar lib), fix a lot of details that broke the project all the time, configure the POM.xml to make everything that Ant was already doing and discover the libs that are really used in the application as their versions (a big part of the libs was renamed without the version number and the manifest file was empty).

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

Well, it was a really hell. I went crazy during this task and the question that followed me all the time was "And if I was converting it to Ivy? Would be easier?".

我从未与 Ivy 合作过,但据我所知,它与 Ant 一起工作,并且比 Maven 更容易适应项目.另一方面,Maven 在整个词中使用的更多(我错了吗?),这应该是有原因的!

I never worked with Ivy, but as I know it work with Ant and it's easier then Maven to adapt the project. On the other hand, Maven it's much more used allover the word (Am I wrong?) and this should have a reason!

这就是我的问题:

  • 与 Jenkins/Hudson 的集成:使用 Ivy 就像使用 Maven 一样容易?
  • Sonar 插件:上述相同的问题.集成很简单?
  • Eclipse 插件:这是 Maven 的一个非常弱的点.插件很糟糕,但我不知道常春藤插件.
  • 部署过程:一切都配置好后,使用 maven 部署和发布项目非常简单.和常春藤?
  • 转换:嗯,我将项目转换为 Maven 的经历很糟糕,但系统没有帮助.我的选择是 Maven 对于新项目来说是惊人的,自创建以来就使用 Maven 的项目,但如果您有一个大型且无组织的项目,则不是一个好的选择.我错了吗?
  • 插件:有很多插件需要配置到 POM.xml 中.常春藤有这么多选择吗?
  • 人气:哪个更受欢迎?哪个更常用?为什么?
  • Integration with Jenkins / Hudson: With Ivy it's so easy as with Maven?
  • Sonar plugin: Same question above. The integration it's simple to?
  • Plugin for Eclipse: This is a very weak point of Maven. The plugin terrible, but I don't know the Ivy ones.
  • Deploy process: Once that it's everything configured, deploy and publish the project with maven it's extremely easy. And with Ivy?
  • Conversion: Well, my experience in converting a project to Maven was terrible, but the system didn't helped. The option that I had was that Maven it's amazing to new projects, projects working with Maven since it was created, but not a good choice if you have a big and unorganized project. Am I wrong?
  • Plugins: That it's A LOT of plugin to be configured into POM.xml. Is there so many option for Ivy?
  • Popularity: Which on is more popular? Which one is more used and why?

嗯,就是这个.非常感谢!

Well, it's this. Thanks a lot!

推荐答案

首先阅读Ivy/Maven 比较来自 Ivy 网站.关键信息:

First of all, read the Ivy / Maven comparison from the Ivy website. The key information:

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

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 adds dependency management functionality to Ant, so really, the question in terms of what build system you use is either:

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

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

If your build is already using Ant, Ivy will be an easier transition since your build scripts don't need to be ported to a different build system.

如果您决定过渡到 Maven,它将需要更多的努力,因为您需要重写构建脚本和 Mavenize 一切以及配置您的依赖项管理.

If you decide to transition to Maven it will require more effort, because you need to rewrite your build scripts and Mavenize everything as well as configure your dependency management.

如果您决定朝那个方向发展,将您的依赖管理配置从 Ivy/Ant 移植到 Maven 也会更容易.因此,从长远来看,Ivy 依赖项管理将是进行 Maven 配置的良好垫脚石.

It will also be easier to port your dependency management configuration from Ivy/Ant to Maven if you ever decide to go in that direction. So Ivy dependency management would be a good stepping stone for in the long term for going to a Maven configuration.

这篇关于Maven 还是常春藤?对于已经投入生产的系统,哪个更好?而其他的区别呢?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆