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

Gur*_*lki 24 java ant ivy

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

ska*_*man 22

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

与Maven的作用有些重叠,但Ivy更轻巧(并且没有那么多).

  • 公平地说,我没有说它与它竞争,我说它与它重叠. (4认同)

Kal*_*see 8

Ivy是一个依赖管理器 - 它管理和控制项目所依赖的JAR文件.如果您没有JAR,默认情况下(默认情况下从Maven 2存储库)会为您提供 JAR ,这可以使项目设置更加容易.


Esk*_*sko 6

Ivy最初是Jayasoft.fr产品,当时已获得BSD许可,但是Ivy的核心始终如一:这是一个依赖项管理工具

Ivy与Ant的关系是从Ant的角度来看,它是一个Ant扩展,但是它实际上并不依赖于它(除了明显的部分)。2007年10月11日,通过孵化过程,Ivy被并入Ant下的Apache项目作为子项目。

人们普遍存在的误解是,他们将Ivy与Maven进行了整体比较。但是,这并不是真正可行的,因为Ivy仅以敏捷的方式处理依赖项,并且通过Ant简化了配置并提供了对各种构建系统等的广泛自动化支持,非常擅长于此,而Maven实际上本身就是构建系统。个人意见可能并且确实会有所不同,其中哪一项是最擅长的事,哪一项值得独自进行几次Stackoverflow / Google搜索。


Ale*_*Ost 5

我相信这些是重要且有用的补充:

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