对于大型的工程来说往往把构建工程分为多个Ant构建文件,每个构建文件分别构建整个应用的一小部分。那么就需要一个基于当前构建文件调用另一个构建文件中的一个目标Ant,此时就需要使用ant任务。
属性:
antfile
要调用的构建文件名。默认为build.xml
dir
新工程所用的基目录;antfile属性相对于dir所指定的目录。
inheritall
默认为true,表示当前工程中的所有特性在新工程中都可用。
output
输出写至此文件
target
新工程中要调用的目标名。如果忽略,则调用新工程的默认目标
内容
0到n个嵌套<property>元素
父构建文件build.xml内容
<?xml version="1.0" encoding="UTF-8"?> <project basedir="." default="init" name="testAnt"> <description>使用ant任务调用另一个构建文件的目标</description> <!--定义路径--> <property name="src.dir" value="${basedir}/srcdir" /> <property name="to.dir" value="${basedir}/todir" /> <target name="init" > <ant antfile="subbuild.xml" dir="subdir" inheritall="true" output="subant.log" target="showMsg"> <property name="to.dir" value="testtest"/> </ant> </target> </project>
子构建文件subbuild.xml文件内容:
<?xml version="1.0" encoding="UTF-8"?> <project basedir="." default="showMsg"> <target name="showMsg"> <echo message="在子的构建文件显示消息"/> <echo message="${src.dir}" /> <echo message="${to.dir}" /> </target> </project>
调用后的后果为:
并且在subdir文件夹上生成subant.log输出文件
此文件内容为: