<?xml version="1.0" encoding="utf-8"?> <!--定义一个项目,项目名称为HelloWorld,basedir在此指定该项目与build.xml为同一目录下--> <project name="HelloWorld" basedir="."> <!--定义一个属性,名为src.dir,意为源代码目录,指定在当前目录下的src目录下--> <property name="src.dir" value="${basedir}/src"/> <!--定义系统环境变量,名为env--> <property environment="env"/> <!--定义一个属性,意为JBOSS应用服务器的HOME目录,它的值为系统环境变量中的JBOSS_HOME 变量的值,注意:在使用时,环境变量中必须有该正确的值,否则会出错--> <property name="jboss.home" value="${env.JBOSS_HOME}"/> <!--指定JBOSS服务配置默认启动的是default而不是all等--> <property name="jboss.server.config" value="default"/> <!--指定类编译的目录为build.xml目录下的build目录下--> <property name="build.dir" value="${basedir}/build"/> <!--指定编译的类路径--> <path id="build.classpath"> <!--编译时要用到jboss目录下client下的所有jar包--> <fileset dir="${jboss.home}/client"> <include name="*.jar"/> </fileset> <!--会用到编译目录下依赖的其它.class文件--> <pathelement location="${build.dir}"/> </path> <!--定义一个准备编译目录任务,主要是若存在编译目录就删除,否则就创建该目录--> <target name="prepare"> <delete dir="${build.dir}"/> <mkdir dir="${build.dir}"/> </target> <!--定义一个编译任务,调用javac命令,依赖于prepare任务--> <target name="compile" depends="prepare" description="编译"> <javac srcdir="${src.dir}" destdir="${build.dir}"> <!--在编译源代码时用到下了build.classpath为ID的类路径--> <classpath refid="build.classpath"/> </javac> </target> <!--定义一个打包任务,调用jar命令,依赖于编译任务--> <target name="ejbjar" depends="compile" description="创建EJB发布包"> <!--jar放于build.xml目录下,jar文件名为项目名--> <jar jarfile="${basedir}/${ant.project.name}.jar"> <!--该jar包含编译目录下的所有.class文件--> <fileset dir="${build.dir}"/> <include nam="**/*.class"/> </fileset> </jar> </target> <!--定义一个发布任务,依赖于打包任务--> <target name="deploy" depends="ejbjar" description="发布ejb"> <!--任务就是将开始打包的jar文件复制到jboss安装目录default的deploy目录下--> <copy file="${basedir}/${ant.project.name}.jar" todir="${jboss.home}/server/${jboss.server.config}/deploy"/> </target> <!--定义一个卸载EJB任务--> <target name="undeploy" description="卸载ejb"> <!--任务就是删除jboss安装目录default的deploy目录下的开始发布的那个jar文件--> <delete file="${jboss.home}/server/${jboss.server.config}/deploy/${ant.project.name}.jar"/> </target> </project>