<?xml version="1.0" encoding="utf-8"?> <!-- name:项目名称 basedir:用于计算所有其他路径的基路径。该属性可以被basedir property覆盖。 当覆盖时,该属性被忽略。如果属性和basedir property都没有设定,就使用 buildfile文件的父目录。 default:当没有指定target时使用的缺省target --> <project name="ejb" basedir="." default="deploy"> <!-- name:属性的名字 value:属性的值 --> <property name="build.dir" value="${basedir}\build"/> <property environment="env"/> <!-- ${env.JBOSS_HOME}指向的是系统的环境变量:JBOSS_HOME 如果没有设置,可以直接使用绝对路径。如:D:\jboss-5.0.0.GA --> <property name="src.dir" value="${basedir}\src"/> <property name="jboss.home" value="${env.JBOSS_HOME}"/> <property name="jboss.server.config" value="default"/> <path id="build.classpath" description="类环境"> <fileset dir="${jboss.home}\client"> <include name="*.jar"/> </fileset> </path> <target name="prepare" description="初始化"> <delete dir="${build.dir}"/> <mkdir dir="${build.dir}"/> </target> <target name="compile" depends="prepare" description="编译"> <javac destdir="${build.dir}" srcdir="${src.dir}" encoding="utf-8"> <classpath refid="build.classpath"/> </javac> </target> <target name="jar" depends="compile" description="打包"> <jar jarfile="${basedir}\${ant.project.name}.jar"> <fileset dir="${build.dir}"> <include name="**/*.class"/> </fileset> <metainf dir="${src.dir}\META-INF"/> </jar> </target> <target name="deploy" depends="jar" description="发布"> <copy file="${basedir}\${ant.project.name}.jar" tofile="${jboss.home}\server\${jboss.server.config}\deploy\${ant.project.name}.jar"/> </target> <target name="undeploy" description="卸裁"> <delete file="${jboss.home}\server\${jboss.server.config}\deploy\${ant.project.name}.jar"/> </target> <target name="clean" depends="undeploy" description="清理"> <delete file="${basedir}\${ant.project.name}.jar"/> <delete dir="${build.dir}"/> </target> </project>
ANT技巧总结:
(1):文件操作:
删除目录:
Java代码
<delete dir="${build.dir}"/>
<delete dir="${build.dir}"/>
删除文件:
Java代码
<delete file="${basedir}\${ant.project.name}.jar"/>
<delete file="${basedir}\${ant.project.name}.jar"/>
创建目录:
Java代码
<mkdir dir="${build.dir}"/>
<mkdir dir="${build.dir}"/>
(2):类路径设置:
Java代码
<fileset dir="${jboss.home}\client">
<include name="*.jar"/>
</fileset>
<fileset dir="${jboss.home}\client">
<include name="*.jar"/>
</fileset>
(3):编译java类:
Java代码
<javac destdir="${build.dir}" srcdir="${src.dir}" encoding="utf-8">
<classpath refid="build.classpath"/>
</javac>
<javac destdir="${build.dir}" srcdir="${src.dir}" encoding="utf-8">
<classpath refid="build.classpath"/>
</javac>
(4):打包:
Java代码
<jar jarfile="${basedir}\${ant.project.name}.jar">
<fileset dir="${build.dir}">
<include name="**/*.class"/>
</fileset>
</jar>
<jar jarfile="${basedir}\${ant.project.name}.jar">
<fileset dir="${build.dir}">
<include name="**/*.class"/>
</fileset>
</jar>