<?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