对于大型的工程来说往往把构建工程分为多个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>


调用后的后果为:

ant的ant任务_文件名


 并且在subdir文件夹上生成subant.log输出文件

此文件内容为:

ant的ant任务_文件名_02