编辑:我想我应该重新表述我的问题。我已经知道ant是一种“构建自动化软件”,我的问题是,什么是构建自动化?我认为你应该测试你的应用程序,在它运行时通过Eclipse或命令行Java点击“构建”按钮,然后它会将其制作成.jar文件?那么为什么需要“自动化”这个过程呢?
rogeriopvl是绝对正确的,但是回答你的“我不能只需在Eclipse中点击运行->运行吗?”的问题:这对于你自己正在工作的项目来说是可以的,而且不需要在多个环境中进行可重复的、可编写脚本的构建。
然而,如果你正在开发一个开源项目或专业软件,需要能够在构建服务器等上进行构建,需要特定的IDE运行并不是一个好主意。
Ant被用来自动化构建过程,但是构建过程通常不仅仅是编译。Ant具有“任务”,可用于执行各种有用的杂项功能。您可以编写Java类并告诉Ant在哪里找到它来创建自己的任务以执行任何操作。然后,您可以混合和匹配这些任务以创建将执行一组任务的目标。
您还可以设置动态环境来构建应用程序。您可以设置属性文件来保存可以在构建过程中使用的变量,例如文件路径、类路径等等。例如,这对于区分测试和生产构建非常有用,其中部署路径、数据库实例等可能会发生更改。Ant还包括流程控制(if等)
我看过Ant完成以下一些任务:
Ant是一种构建工具,类似于makefile(尽管其语法在XML中有所不同)。如果您只使用Eclipse,那么坚持使用它就可以了,您始终可以将Ant构建文件转换为Eclipse项目(如果我记得正确的话,Eclipse的启动配置相当于Ant的构建目标)。
如果您想部署应用程序的源代码并允许其他人轻松地构建或设置它,那么使用Ant自动化处理可能不是一个坏主意。但通常对于用户来说这不是一致的体验,至少我还没有看到关于应该存在哪些目标以及执行什么操作的共识。
Ant也可以用于定期自动构建(您不想每晚都在Eclipse中运行吧? :-))