什么是常春藤?它与蚂蚁有什么关系?

Posted

技术标签:

【中文标题】什么是常春藤?它与蚂蚁有什么关系?【英文标题】:what is ivy? and how it is related to ant? 【发布时间】:2010-12-31 20:09:38 【问题描述】:

我在应用程序的构建项目中看到了许多 ivy 文件。什么是常春藤,它与蚂蚁的关系?

【问题讨论】:

ant.apache.org/ivy/features.html 【参考方案1】:

Ivy 是一个 Ant 扩展,用于在开发过程中管理外部库,为您提供将它们添加到类路径、将它们捆绑到应用程序构建等的方法。

与 Maven 的功能有一些重叠,但 Ivy 更轻量级(并且没有那么多功能)。

【讨论】:

Ivy 与 Maven Ant Tasks (maven.apache.org/ant-tasks/index.html) 竞争,但肯定不会与 Maven 竞争。 公平地说,我没有说它与它竞争,我说它与它有重叠。 嗯,Ivy 作为 Maven 依赖处理机制的 Ant 端口,当然有一种“重叠”。但是,您仍然无法比较它们。【参考方案2】:

Ivy 是一个依赖管理器——它管理和控制您的项目所依赖的 JAR 文件。如果您没有 JAR,它会默认为 pull them down for you(来自 Maven 2 存储库),这可以使项目设置变得更加容易。

【讨论】:

除了大多数远程 ivy/maven 存储库非常不完整和不完整。 @Pascal - 我的经验与@skaffman 的断言一致。例如,当我开始使用 Maven 时,我很难找到 J2EE api JAR 的“正确”版本,因此我放弃了寻找 OAIcat。我还遇到了需要“排除”解决方法的不良依赖关系的问题。然而,对我来说,Maven 风格的依赖关系的好处超过了这些问题。 @Stephen 那是什么时候? Java/J2EE jars 的问题更多是许可问题,并且已经通过 Java.net 存储库解决了很长时间。关于不良元数据,有任何最近不好的经历吗?无论如何,任何严肃的公司项目都应该使用公司存储库,而不是依赖公共的东西。所以不,我不同意。【参考方案3】:

Ivy 最初是Jayasoft.fr product,当时是在 BSD 许可下,但 Ivy 的核心一直是一样的:它是一个依赖管理工具

Ivy 与 Ant 的关系在于它是通过 Ant 的某种意义上的 Ant 扩展,但它并不真正依赖于它(在明显的部分之外)。 Ivy 于 2007 年 10 月 11 日通过孵化过程并入 Ant 下的一个 Apache 项目作为子项目。

人们非常普遍的误解是,他们将 Ivy 与 Maven 作为一个整体进行比较。然而,这并没有真正起作用,因为 Ivy 仅以敏捷的方式处理依赖关系,并且非常擅长通过 Ant 进行简单的配置和对各种构建系统等的广泛自动化支持,而 Maven 本身就是一个构建系统。个人意见可能会而且确实会有所不同,哪些人做得最好,哪些值得自己进行几次 ***/Google 搜索。

【讨论】:

【参考方案4】:

我认为这些是重要且有用的补充点:

Ivy 可以在没有 Ant 的情况下从命令行独立使用。如果您的 CI 环境不包含 Ant,它不会阻止您使用 Ivy。是的,与 Ant 的集成很好,而且到目前为止,文档记录得更好。不过,可以将 Ant 集成文档应用于独立使用。 Ivy 不仅仅适用于 Java。我的团队成功地使用它为一个相当大的 .NET 项目定义了依赖项(10 个相互依赖的包,每个包都有多个版本,每个包都有多个第三方上游依赖项)。效果很好。我希望文档更清晰、更完整。 Ivy 为构建时间提供了额外的好处:上游和下游构建触发。

【讨论】:

以上是关于什么是常春藤?它与蚂蚁有什么关系?的主要内容,如果未能解决你的问题,请参考以下文章

什么是“丛”,它与 Maven 有什么关系? [关闭]

什么是 WebKit,它与 CSS 有什么关系?

什么是 DCPS,它与 DDS 有什么关系?

什么是 PDO,它与 SQL 注入有什么关系,为什么要使用它?

蚂蚁和蜜蜂有啥区别?

什么是以太?它与以太网有何关系?