ant提供了一个插件机制来使用第三方的任务。为了使用第三方的任务,需要做两步:
- 将它们的实现放在ant能找到的地方。
- 声明任务
声明任务的几种方法:
- 声明一个任务:利用
<taskdef name="taskname" classname="ImplementationClass"/>
。例如:
<taskdef name="annotationProcessing" classname="com.sun.tools.ws.ant.AnnotationProcessingTask">
<classpath refid="jaxws.classpath"/>
</taskdef>
声明了以后使用,例如:
<target name="build-server-java">
<annotationProcessing
fork="true"
debug="true"
verbose="${verbose}"
destdir="${build.classes.home}"
srcdir="${basedir}/src"
includes="**/server/**,**/common/**"
sourceDestDir="${build.classes.home}"
procOnly="false"
sourcepath="${basedir}/src">
<classpath>
<path refid="jaxws.classpath"/>
<pathelement location="${basedir}/src"/>
</classpath>
</annotationProcessing>
</target>
- 声明多个任务:利用一个properties文件存放taskname–ImplementationClass这样的对,再用
<taskdef>
声明。例如:
<taskdef resource="net/sf/antcontrib/antcontrib.properties"/>
- 声明多个任务:利用一个xml文件存放taskname–ImplementationClass这样的对,再用
<taskdef>
声明。例如:
<taskdef resource="net/sf/antcontrib/antlib.xml"/>