我想知道从ant管理项目依赖的最佳方法。Maven Ant任务与Ivy的优缺点是什么?
我想知道从ant管理项目依赖的最佳方法。Maven Ant任务与Ivy的优缺点是什么?
由于您想要的是向现有的Ant项目添加依赖项管理,这正是Ivy的设计目的。依赖项管理是Maven的一个重要组成部分,但远非全部。Maven更多是一个面向项目的工具,除了依赖项之外还做了其他几件事情。如果您计划迁移到Maven并使用其他Maven功能,那么值得考虑;但是,如果您只是用它来启动Ant,则有些过头了。
您所需依赖项的类型以及您对它们行为的期望也会产生影响。在Maven中提取第三方依赖关系几乎是微不足道的,而Ivy则擅长重建您自己的依赖组件。无论哪种情况,这些工具都不会提供良好的构建、版本控制和存储库策略,这些仍然由您自己决定,并且需要正确配置才能达到预期效果。
Ant + Ivy == 一个营地,人们根据需要使用设施。
Maven == 一个度假村,你要依赖别人提供的服务。
对于那些缺乏构建/集成经验的团队来说,Maven 更容易上手,但当团队需要偏离 Maven 标准时,他们将不得不求助于 groovy、gradle,并且文档缺失会让人感到沮丧。
Ant + Ivy 启动项目需要更长时间,但如果团队拥有构建/集成经验,则可以根据自己的开发和发布代码方式定制构建系统。
在工程领域,我总是倾向于采用营地解决方案而非度假村。
令人惊奇的是,Ant 和 Maven 都选择 XML 作为表达构建配方的语言。Java 社区一直坚持使用 XML...
我承认我曾经对Maven持有反感态度。
我知道Ivy的一个优势是它可以使用不同类型的仓库。相比之下,Maven在使用仓库时通常非常严格。这就是我所知道的全部。
我刚刚花了两天时间阅读Ivy文档,不得不说,如果你有任何选择的话,请使用MAVEN。据我所知,Ivy完全是垃圾。我刚刚浪费了两天时间尝试将其纳入我的构建中,现在我正在削减损失。为什么?
一旦我引入了“配置”(可以理解为maven配置文件),Ivy就开始疯狂下载我不需要的所有东西,然后失败了。与Maven相比,Ivy的文档简直是个笑话。如果你想看看Ivy文档有多难懂和糟糕,请看看configurations的参考页面。这些是任何构建的重要组成部分,但在Ivy中,它们似乎是一个设计不良的事后想法。