<?xml version="1.0" encoding="UTF-8"?> <!-- name中指的是项目名称。basedir指的是与build.xml的同级目录 --> <!-- (1)basedir 代表 项目所在的路径。 --> <project name="HelloWorld" basedir="."> <!-- 项目源文件 所在的目录。--> <property name="src.dir" value="${basedir}\src" /> <!-- 指向环境变量中系统变量 --> <property environment="env" /> <!-- 指向系统变量中的JBOSS_HOME变量 ,可以得知JBOSS_HOME的安装地址 --> <property name="jboss.home" value="${env.JBOSS_HOME}" /> <property name="jboss.server.config" value="default" /> <!-- class文件存在的目录 --> <property name="build.dir" value="${basedir}\build" /> <path id="build.classpath"> <!-- 包含 client路径下的所有 jar文件--> <fileset dir="${jboss.home}\client"> <include name="*.jar" /> </fileset> <pathelement location="${build.dir}" /> </path> <target name="prepare"> <delete dir="${build.dir}" /> <mkdir dir="${build.dir}" /> </target> <!-- depends="prepare" 确保 先执行上面的代码,在执行下面的代码 --> <target name="compile" depends="prepare" description="编译"> <!-- class 存放到 destdir这个目录。在调用javac 这个目录就必须建立起来--> <javac srcdir="${src.dir}" destdir="${build.dir}" > <classpath refid="build.classpath" /> </javac> </target> <target name="ejbjar" depends="compile" description="创建EJB发布包"> <jar jarfile="${basedir}\${ant.project.name}.jar"> <fileset dir="${build.dir}"> <include name="**/*.class" /> </fileset> </jar> </target> <target name="deploy" depends="ejbjar" description="发布ejb"> <copy file="${basedir}\${ant.project.name}.jar" todir="${jboss.home}\server\${jboss.server.config}\deploy" /> </target> <target name="undeploy" description="卸载ejb"> <delete file="${jboss.home}\server\${jboss.server.config}\deploy\${ant.project.name}.jar" /> </target> </project>
下面是操作:
1,compile---------->
Buildfile: E:\ejb3.0\HelloWorld\build.xml
prepare:
[mkdir] Created dir: E:\ejb3.0\HelloWorld\build
compile:
[javac] Compiling 3 source files to E:\ejb3.0\HelloWorld\build
BUILD SUCCESSFUL
Total time: 1 second
2,执行deploy,会先执行 编译和打包 工作。
首先:启动jboss 完成发布的工作。
(1)
Buildfile: E:\ejb3.0\HelloWorld\build.xml
prepare:
[delete] Deleting directory E:\ejb3.0\HelloWorld\build
[mkdir] Created dir: E:\ejb3.0\HelloWorld\build
compile:
[javac] Compiling 3 source files to E:\ejb3.0\HelloWorld\build
ejbjar:
[jar] Building jar: E:\ejb3.0\HelloWorld\HelloWorld.jar
deploy:
[copy] Copying 1 file to F:\javaEEService\jboss-4.2.3.GA-jdk6\jboss-4.2.3.GA\server\default\deploy
BUILD SUCCESSFUL
Total time: 1 second
(2)
21:58:02,578 INFO [EJBContainer] STOPPED EJB: cn.itm.ejb3.impl.HelloWorldBean ejbName: HelloWorldBean
21:58:02,578 WARN [JmxKernelAbstraction] jboss.j2ee:jar=HelloWorld.jar,name=HelloWorldBean,service=EJB3 is not registered
21:58:02,609 INFO [JmxKernelAbstraction] creating wrapper delegate for: org.jboss.ejb3.stateless.StatelessContainer
21:58:02,609 INFO [JmxKernelAbstraction] installing MBean: jboss.j2ee:jar=HelloWorld.jar,name=HelloWorldBean,service=EJB3 with dependencies:
21:58:02,609 INFO [EJBContainer] STARTED EJB: cn.itm.ejb3.impl.HelloWorldBean ejbName: HelloWorldBean
21:58:02,625 INFO [EJB3Deployer] Deployed: file:/F:/javaEEService/jboss-4.2.3.GA-jdk6/jboss-4.2.3.GA/server/default/deploy/HelloWorld.jar
卸载:
执行:undeploy
结果:
Buildfile: E:\ejb3.0\HelloWorld\build.xml
undeploy:
[delete] Deleting: F:\javaEEService\jboss-4.2.3.GA-jdk6\jboss-4.2.3.GA\server\default\deploy\HelloWorld.jar
BUILD SUCCESSFUL
Total time: 265 milliseconds