我想知道的最好的方式来管理项目依赖从蚂蚁。有哪些利弊的家蚂蚁的任务和常春藤?

有帮助吗?

解决方案

由于什么你想要做的是依赖管理添加到现有的Ant项目,这正是艾维的设计来做。依赖管理是Maven的的一个重要组成部分,但它的所有远。 Maven是更多的是面向项目的工具,做除了依赖其他一些事情的。这将是值得考虑的,如果你正计划迁移到Maven和使用Maven的附加功能,以及,但它是一个有点多,如果你想使用它的是分拆蚂蚁。

您类型的依赖和你的他们的言行举止也将有所作为的期待。拉第三方依赖是Maven中几乎微不足道,而艾维在重建自己的相关组件的过人之处。在这两种情况下,该工具将不能提供像样的构建,版本和存储库的政策的,那些仍高达你得到正确的配置需要。

其他提示

蚂蚁+艾维==露营地,那里的人使用的设施需要。结果 Maven的==度假,在那里你依赖别人提供服务。

Maven是用于构建缺失/集成经验的团队更容易,但是当球队需要从Maven的标准发散,他们会发现自己深远的常规,gradle产出,缺乏坚实的文件会变得沮丧。

蚂蚁+艾维将需要更长的时间来启动一个项目,但如果球队已建立/集成经验,围绕他们的方式,他们开发他们可以定制构建系统和发布代码。

在工程......科技公司,我总是推动营地解决方案相对的度假胜地。

这是惊人的,虽然这两个Ant和Maven选择XML作为自己的langauge表达对建食谱。 Java社区是停留在该XML ...

常春藤+ Ant是远远更加灵活。常春藤不依赖管理,周期和它确实是非常好,比Maven的。并用Ant你几乎可以放在一起,你想要的任何构建系统。

的Maven试图控制一切 - “生命周期”(编译,测试,封装等),其中的文件应该住,等等。玩得开心定制插件之类,如果你不喜欢“Maven的方式。”

Maven是回答一个问题没人问。编写一个Ant脚本并不难,和常春藤为您提供更好的依赖管理Maven的比。我对以前的一些意见的混淆,说明他们无法获得常青藤工作。常春藤比Maven的简单一些,以建立和运行。

Spring框架在其构建过程使用常春藤。我认为,可以看作是对常春藤颇有信心一票。

我觉得这篇文章涵盖了到底是什么OP是在寻找:

你为什么应使用专家的蚂蚁任务,而不是行家或常春藤

如果你的长期目标是迁移到使用Maven来管理整个构建过程(其中一个可能会打算新新建项目做),那么我衷心建议使用Maven的pom.xml文件代表蚂蚁的管理依赖的build.xml文件。最终的结果是,无论你的新建项目和你的旧的项目,那么所有使用相同的机制来管理依赖。它原来的Maven确实为管理的Ant build.xml文件比不常春藤依赖更好的工作。

此前采用Maven作为我们的旗舰构建工具,我有一个开发人员尝试使用常春藤结合现有的Ant build.xml文件。这是最令人沮丧的经验,很快导致我们拒绝常春藤。我们用领养的Maven的一往直前。我们的新建项目开始与股票Maven的方式,等建成。

不过,我又回到了蚂蚁遗留项目,并使用Maven的Ant任务定义的类路径定义(从pom.xml的拉入偶尔其他Ant属性定义)开始。事实证明,这是一个最极致的体验。现有的Ant build.xml文件,只需要稍作修改使用Maven蚂蚁集成定义是在build.xml文件中使用的任何类路径。由该项目所需的所有相关性变得在于得到由Maven的经由并入的build.xml文件Ant任务处理的附图pom.xml文件定义的。

的Maven范围可用于微调类路径定义为使得一个适合编译,或运行单元测试,或用于包装,等人,可以成立。此外,几乎所有在pom.xml文件中定义的东西元件可以被引用为build.xml文件内的Ant属性。

真的与对Maven Ant任务没有可行的理由常春藤甚至存在。

的Maven常春藤比较/蚂蚁是比较智能电话电报到

如果你想在你的基础设施建设,以充分利用真正的持久的效果,最好使用Maven,因为它预期和抽象的进程和任务每个软件项目或其他软件类项目面临着。我在许多项目参加,如果你的项目变得更复杂,更多样化和更庞杂,你会更赞一个Maven项目配置的简单性。实际上,它会相对于常春藤/蚂蚁驱动的项目变得复杂,但并不复杂。

的Maven的主要优点是“约定优于配置”(http://en.wikipedia.org/wiki/Convention_over_configuration)一个非常重要的范例。总之,这意味着你不需要知道/配置事情是显而易见/琐碎/司空见惯。虽然Maven和它的所有插件附带许多默认的设置,你总是要配置您的项目,您的特殊需要的选项。与Maven,一方面是你可以设置一个项目很容易和迅速;在另一方面,你可以自定义一个成长的项目达以最小的努力您的需求。如果你理解了关键概念背后的Maven你要利用每一个项目,也是不典型的软件开发项目,以及项目。

在过去,我写了很多Ant脚本,并与即将到来的Maven的我开始讨厌的蚂蚁。一个缺点是,你总是复制脚本和重复自己,发展不重复不重复不重复任务的任务Ant任务......而主要缺点是,越来越多的Ant脚本往往会得到不可维护,特别是如果一打蚂蚁爱好者要皮条客向上彼此蚂蚁脚本。

许多蚂蚁爱好者从越过状伪像和打印buildmessages的复印小事整体控制受到影响。但由于Maven的关键概念是隐藏这些琐碎的事情的传奇将永远生动地表现了Maven的限制定制需求。不过不用担心,这是一个传奇!所以你终于明白我的初步声明:请不要用那些已经解决了琐碎的事情打扰

也许常春藤/蚂蚁是简单的项目,但对于需要简单和复杂的约定项目越来越多一种选择。否则,你将不堪重负越来越多的维护问题。特别是如果你有很多相关的项目,技术,异构的产品零部件在一个全球性项目,你不必为开发和测试Ant脚本或解决依赖问题的时间和金钱。

另请教应该提到:蚂蚁提供的Maven的整合。这种整合通常用于测试和那些从小一起长大的蚂蚁项目使用Maven玩。避免这种愚蠢的做法,因为它会产生更多的问题。相反留在蚂蚁和其疼痛或完全迁移到行家。

如果您有任何疑问的迁移成本,我建议你使用由Maven的蚂蚁插件集成不同世界的相反的方式。有了这个标准插件,你可以毫不费力地运行每只蚂蚁脚本。当然它是一个,而一个传统的解决方案,但它给你,你需要了解你的前任的怪异扭曲注释掉Ant脚本的大型线尽可能多的时间。

现在,你要赞美行家的下一个优势:你需要你的配置非常少的文件,因为文件是要利用一切Maven的插件的一部分

因此,我承认我是一个Maven的拮抗剂。

我知道常春藤的一个优点是它可以使用不同种类的存储库。 Maven是通常会使用存储库的格式非常严格。这就是我知道的。

我刚刚花了 2 天阅读 Ivy 文档,我不得不说,如果你有任何选择,请使用 MAVEN。据我所知,常春藤完全是垃圾。我只是浪费了 2 天的时间试图将其合并到我的构建中,现在正在减少损失。为什么?

  • Ivy 是一个半途而废的依赖管理尝试
  • Ivy 文档完全是个笑话
  • ivy的例子和教程没用

一旦我引入“配置”(读作 Maven 配置文件),Ivy 就开始疯狂下载我不需要的各种垃圾,然后失败。Ivy 的文档简直就是个笑话。相比之下,Maven 文档读起来就像一场梦。如果你想要一个例子来了解 Ivy 文档是多么难以理解和写得多么糟糕,请查看参考页 配置. 。这些是任何构建的重要组成部分,但在 Ivy 中,它们似乎是经过深思熟虑后设计得很糟糕的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top