Java构建工具:Ant与Maven

And*_*eda 33 ant build maven

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

arg*_*ype 58

这真的取决于.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更容易使用.