程序化使用Ant系统
Ant作为早期的Java编译管理系统,一般是以命令行结合XML描述文件(build.xml)的方式使用。实际上Ant有提供一套丰富的API接口,可以实现程序化调用。
本文主要介绍Ant中较为核心的几个接口,作为入门指引。
项目(project)
Ant以项目为单位进行编译任务的组织,一个project对应于一份build.xml描述文件。和项目相关的接口,重要的包括:
Project.addBuildListener
- 结合org.apache.tools.ant.DefaultLogger
实现日志记录(DefaultLogger
的setOutputPrintStream
和setErrorPrintStream
接口配置日志输出流,setMessageOutputLevel
接口调整日志输出等级);ProjectHelper.configureProject
- 加载build.xml文件;Project.setProperty
- 设置项目编译运行时属性;
至于其他接口,可以查看这里详细的说明。
注意:如果需要多次执行同一project中的task,每次都需要对project重新实例化,否则可能出现冲突。
任务(task)
在完成project初始化后,就可以使用Project.executeTarget
或Project.executeTargets
接口执行其中的一个或多个特定任务了。