一,为减小 build.xml 文件的大小,使用XML实体
把属性的设置都放一个XML文件中
props.xml 文件
<property name="build.dir" value="build" />
然后在 build.xml 文件中加入如下
<!DOCTYPE project [<!ENTITY properties SYSTEM "file:props.xml">]>
二,将多个目录的源文件编译到一个地方
<javac destdir="build/classes">
<src path="src1"/>
<src path="src2"/>
</javac>
三,保存构建时的信息
<project default="init">
<target name="init"></target>
<property environment="env" />
<property name="env.COMPUTERNAME" value="${env.HOSTNAME}" />
<propertyfile comment="Build Information" file="./buildinfo.properties">
<entry key="build.host" value="${env.COMPUTERNAME}" />
<entry key="build.user.name" value="${user.name}" />
<entry key="build.os.name" value="${os.name}" />
</propertyfile>
</project>
四,去除属性文件的注释
属性文件:
# 这里是注释,会给过滤掉
build.dir = build
build文件:
<copy file="props.properties" todir="sample">
<filterchain>
<striplinecomments>
<comment value="#" />
</striplinecomments>
</filterchain>
</copy>
五,两个花俏的功能
1.声音提示
<project name="Sound" default="all">
<property file="build.properties" />
<target name="init">
<sound>
<success source="${sound.dir}/success.wav" duration="500" />
<fail source="${sound.dir}/fail.wav" loops="2" />
</sound>
</target>
<target name="fail" depends="init">
<fail />
</target>
<target name="success" depends="init" />
<target name="all" depends="success" />
</project>
2.进度条提示
<project name="splash" default="init">
<target name="init">
<splash imageurl="http://www.ehatchersolutions.com/logo.gif" showduration="5000" />
<sleep seconds="1" />
<sleep seconds="1" />
<sleep seconds="1" />
<sleep seconds="1" />
<sleep seconds="1" />
<sleep seconds="1" />
</target>
</project>
注:这两个例子完全来自《Java Development with Ant》一书。