首先我们建立一个ejb工程,工程结构如下:
testejb
--src
--**.java(各类源文件以及配置文件)
META-INF
--persistence.xml(实体bean配置文件)
建立一个web工程,结果如下:
testejbweb
--src
--**.java(各类源文件)
--build
--build.xml(ant文件)
--description(ear部署描述信息)
--META-INF
--application.xml
--webRoot
--web-inf
--**
那么我们写一个ant文件,把这些ejb组件,web程序,以及两者部署信息打包到jboss部署目录下,ant文件内容如下:
<?xml version="1.0" encoding="UTF-8" ?>
<project name="ear2jboss" default="mytestejbweb-ear" basedir="." >
<property name="ejbClassesDir" value="../../testejb/classes" description="ejb打包的根路径" />
<property name="testejbwebDir" value="../WebRoot" description="web应用程序打包的根路径"/>
<property name="earDir" value="E:/jbosstempproject/mytestejbweb" description="ear打包根路径"/>
<property name="jbossDir" value="E:/jboss-4.2.2.GA/server/all/deploy" description="jboss部署路径"/>
<target name="testejb-jar" description="ejb组件打包">
<jar destfile="${earDir}/testejb.jar" basedir="${ejbClassesDir}" includes="" excludes="" />
</target>
<target name="testejbweb-war" description="使用ejb组件的web应用程序打包">
<jar destfile="${earDir}/testejbweb.war" basedir="${testejbwebDir}" includes="" excludes="" />
</target>
<target name="copy-ejbDiscription" description="拷贝jboss部署ear的描述信息">
<copy todir="${earDir}">
<fileset dir="../description"></fileset>
</copy>
</target>
<target name="delete-ear" description="删除原来的ear打包程序">
<delete file="${earDir}/mytestejbweb.ear"/>
</target>
<target name="mytestejbweb-ear" depends="delete-ear,testejb-jar,testejbweb-war,copy-ejbDiscription" description="ear打包">
<jar destfile="${earDir}/mytestejbweb.ear" basedir="${earDir}" includes="" excludes="" />
</target>
<target name="copy-ear-to-jboss" depends="mytestejbweb-ear" description="拷贝ear到jboss服务器上">
<copy todir="${jbossDir}" file="${earDir}/mytestejbweb.ear"/>
</target>
</project>
testejb
--src
--**.java(各类源文件以及配置文件)
META-INF
--persistence.xml(实体bean配置文件)
建立一个web工程,结果如下:
testejbweb
--src
--**.java(各类源文件)
--build
--build.xml(ant文件)
--description(ear部署描述信息)
--META-INF
--application.xml
--webRoot
--web-inf
--**
那么我们写一个ant文件,把这些ejb组件,web程序,以及两者部署信息打包到jboss部署目录下,ant文件内容如下:
<?xml version="1.0" encoding="UTF-8" ?>
<project name="ear2jboss" default="mytestejbweb-ear" basedir="." >
<property name="ejbClassesDir" value="../../testejb/classes" description="ejb打包的根路径" />
<property name="testejbwebDir" value="../WebRoot" description="web应用程序打包的根路径"/>
<property name="earDir" value="E:/jbosstempproject/mytestejbweb" description="ear打包根路径"/>
<property name="jbossDir" value="E:/jboss-4.2.2.GA/server/all/deploy" description="jboss部署路径"/>
<target name="testejb-jar" description="ejb组件打包">
<jar destfile="${earDir}/testejb.jar" basedir="${ejbClassesDir}" includes="" excludes="" />
</target>
<target name="testejbweb-war" description="使用ejb组件的web应用程序打包">
<jar destfile="${earDir}/testejbweb.war" basedir="${testejbwebDir}" includes="" excludes="" />
</target>
<target name="copy-ejbDiscription" description="拷贝jboss部署ear的描述信息">
<copy todir="${earDir}">
<fileset dir="../description"></fileset>
</copy>
</target>
<target name="delete-ear" description="删除原来的ear打包程序">
<delete file="${earDir}/mytestejbweb.ear"/>
</target>
<target name="mytestejbweb-ear" depends="delete-ear,testejb-jar,testejbweb-war,copy-ejbDiscription" description="ear打包">
<jar destfile="${earDir}/mytestejbweb.ear" basedir="${earDir}" includes="" excludes="" />
</target>
<target name="copy-ear-to-jboss" depends="mytestejbweb-ear" description="拷贝ear到jboss服务器上">
<copy todir="${jbossDir}" file="${earDir}/mytestejbweb.ear"/>
</target>
</project>