如何解决ava构建工具:Ant vs. Maven?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (7085)

我读这个博客由肯特R.Spillner关于Java构建工具。虽然我很少使用Ant和Maven,但我没有认真对待任何一个我打算做的事情。博客文章是否链接了一个夸大的帖子?最重要的是,我应该将Maven或Ant用于中型项目(大约20K LOC)。

提问于
用户回答回答于

这真的取决于。Maven和Ant只是不同的方法:命令式和声明式(参见Imperative vs Declarative构建系统

Maven更适合管理依赖项(但是如果使用Ant + Ivy,Ant也可以使用它们)并构建工件。maven的主要好处 - 它的生命周期。您可以在正确的阶段添加特定的操作,这似乎很合乎逻辑:例如,只需在集成测试阶段启动集成测试。此外,还有许多现有的插件,几乎可以满足所有需求。Maven原型是强大的功能,它允许您快速创建项目。

Ant更适合控制构建过程。在第一次构建之前,您必须编写build.xml。如果您的构建过程非常具体,则必须创建复杂的脚本。对于长期项目,对ant脚本的支持可能会变得非常痛苦:脚本变得太复杂,编写它们的人可能会离开项目等。

它们都使用xml,这在大型长期项目中可能会变得太大。

无论如何,你应该阅读两者的具体文档。此外,还有ant-maven-plugin,允许使用maven启动ant-scripts。

PS你可以看看Gradle,这对我来说可以提供比Maven更多的自由,但比Ant更容易使用。

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励