EJB3.0 Ant Build.xml实例讲解
这里只是讲下针对EJB3.0用到的ANT构建文件的实例讲解,并不是ANT构建文件的详解,对于详解等有时间再写,下面就看下此实例讲解,讲解内容见代码中的注释部分。
- <?xmlversion="1.0"encoding="utf-8"?>
- <!--定义一个项目,项目名称为HelloWorld,basedir在此指定该项目与build.xml为同一目录下-->
- <projectname="HelloWorld"basedir=".">
- <!--定义一个属性,名为src.dir,意为源代码目录,指定在当前目录下的src目录下-->
- <propertyname="src.dir"value="${basedir}\src"/>
- <!--定义系统环境变量,名为env-->
- <propertyenvironment="env"/>
- <!--定义一个属性,意为JBOSS应用服务器的HOME目录,它的值为系统环境变量中的JBOSS_HOME
- 变量的值,注意:在使用时,环境变量中必须有该正确的值,否则会出错-->
- <propertyname="jboss.home"value="${env.JBOSS_HOME}"/>
- <!--指定JBOSS服务配置默认启动的是default而不是all等-->
- <propertyname="jboss.server.config"value="default"/>
- <!--指定类编译的目录为build.xml目录下的build目录下-->
- <propertyname="build.dir"value="${basedir}\build"/>
- <!--指定编译的类路径-->
- <pathid="build.classpath">
- <!--编译时要用到jboss目录下client下的所有jar包-->
- <filesetdir="${jboss.home}\client">
- <includename="*.jar"/>
- </fileset>
- <!--会用到编译目录下依赖的其它.class文件-->
- <pathelementlocation="${build.dir}"/>
- </path>
- <!--定义一个准备编译目录任务,主要是若存在编译目录就删除,否则就创建该目录-->
- <targetname="prepare">
- <deletedir="${build.dir}"/>
- <mkdirdir="${build.dir}"/>
- </target>
- <!--定义一个编译任务,调用javac命令,依赖于prepare任务-->
- <targetname="compile"depends="prepare"description="编译">
- <javacsrcdir="${src.dir}"destdir="${build.dir}">
- <!--在编译源代码时用到下了build.classpath为ID的类路径-->
- <classpathrefid="build.classpath"/>
- </javac>
- </target>
- <!--定义一个打包任务,调用jar命令,依赖于编译任务-->
- <targetname="ejbjar"depends="compile"description="创建EJB发布包">
- <!--jar放于build.xml目录下,jar文件名为项目名-->
- <jarjarfile="${basedir}\${ant.project.name}.jar">
- <!--该jar包含编译目录下的所有.class文件-->
- <filesetdir="${build.dir}">
- <includename="**/*.class"/>
- </fileset>
- </jar>
- </target>
- <!--定义一个发布任务,依赖于打包任务-->
- <targetname="deploy"depends="ejbjar"description="发布ejb">
- <!--任务就是将开始打包的jar文件复制到jboss安装目录default的deploy目录下-->
- <copyfile="${basedir}\${ant.project.name}.jar"todir="${jboss.home}\server\${jboss.server.config}\deploy"/>
- </target>
- <!--定义一个卸载EJB任务-->
- <targetname="undeploy"description="卸载ejb">
- <!--任务就是删除jboss安装目录default的deploy目录下的开始发布的那个jar文件-->
- <deletefile="${jboss.home}\server\${jboss.server.config}\deploy\${ant.project.name}.jar"/>
- </target>
- </project>
<?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>