下面我们来教大家来使用ant来build这个工程。Ant是由apache.org组织来提供给java开发人员使用的如Unix平台下的make一样的工程编译工程。
它能自动识别我们要进行javac的java文件,将这些文件进行javac,再按照我们的要求来将这些class文件打包成为相应的jar包,当然也包括war文件(war文件也是一个jar文件,只是后缀名不同而已,都可以使用jar工具进行打包和解包)。我们先来看看我们为helloejb这个工程所写的build.xml文件,这个文件内容如下:
<?xml version="1.0"?>
<!--
Build file for `orion-primer', an sample J2EE application.
Version: $Revision: 3.1 $ $Date: 2000/08/28 10:03:11 $
Author: Ernst de Haan
-->
<PROJECT basedir="." default="j2ee-ear" name="orion-primer">
<TARGET name="init">
<property name="name" value="helloejb"></property>
<property name="src.dir" value="src"></property>
<property name="lib.dir" value="lib"></property>
<property name="rel.dir" value="rel"></property>
<property name="orion.dir" value="c:\orion"></property>
<property name="build.compiler" value="classic"></property>
</TARGET>
<TARGET name="clean" depends="init">
<DELTREE dir=${lib.dir}>
<DELTREE dir=${rel.dir}>
</TARGET>
<TARGET name="prepare" depends="init">
<MKDIR dir=${lib.dir}>
<MKDIR dir=${lib.dir}/ejb>
<MKDIR dir=${lib.dir}/ejb/META-INF>
<MKDIR dir=${lib.dir}/web>
<MKDIR dir=${lib.dir}/web/WEB-INF>
<MKDIR dir=${lib.dir}/web/WEB-INF/classes>
<MKDIR dir=${lib.dir}/j2ee>
<MKDIR dir=${lib.dir}/META-INF>
<MKDIR dir=${rel.dir}>
</TARGET>
<TARGET name="ejb-classes" depends="prepare">
<JAVAC
includes="java.net/chinacode/**"
classpath="${orion.dir}/ejb.jar" >
</TARGET>
<TARGET name="ejb-meta-inf" depends="prepare">
<COPYFILE
</TARGET>
<TARGET name="ejb-jar" depends="ejb-classes,ejb-meta-inf">
<JAR
</TARGET>
<TARGET name="web-classes" depends="prepare">
<JAVAC
includes="java/net/chinacode/web/**"
classpath="${lib.dir}/ejb:${orion.dir}/ejb.jar:${orion.dir}/jndi.jar:${orion.dir}/orion.jar" />
</TARGET>
<TARGET name="web-web-inf" depends="prepare">
<COPYFILE
dest="${lib.dir}/web/WEB-INF/web.xml" >
</TARGET>
<TARGET name="web-war" depends="web-classes,web-web-inf">
<JAR
</TARGET>
<TARGET name="j2ee-meta-inf" depends="prepare">
<COPYFILE
</TARGET>
<TARGET name="j2ee-ear" depends="ejb-jar,web-war,j2ee-meta-inf">
<COPYFILE
<COPYFILE
<JAR
</TARGET>
</PROJECT>
我们将这个xml文件存入hdsite/build.xml文件下。这个文件说明了我们去编译整个工程的文件的步骤,同时也可以看到相应的配置文件也就是哪些xml文件是按一个什么样的规则被打包到jar文件中去的。通过ant编绎后我们在hdsite/rel目录下会得到helloejb-ejb.jar文件和helloejb-web.war文件以及helloejb.ear文件。如果需要了解ant的build.xml文件更为详细的信息请到http://www.apache.org网站寻找相应的文档。做好后,我们只要在hdsite目录下运行ant就可以了,它会自动创建一系列的目录,我们只需要得到rel目录下的几个包文件。如果只需要在一个orion服务器上运行servlet加ejb,哪么我们只需要一个ear文件就可以了。如果需要分开运行,哪么web容器就是war文件,jar文件就是ejb容器。
下面我们来在orion/config目录下的server.xml文件中加入这一行:
<APPLICATION name="helloejb" path="c:\hdsite\rel\helloejb.ear">
这样我们就说明了一个在server中运行的应用包或是目录。同时我们也需要在web server的设置中说明一个虚似路径到servlet上,将orion\config\中的default-web-site.xml文件中加入这样一行:
<WEB-APP name="helloejb-web" root="/helloejb" application="helloejb">
这样我们就说明了在缺省的web服务器中加入一个/helloejb的虚似路径,并指向helloejb-web这个web容器。哪么大家会问,我们通过浏览器以什么样的路径会访问到这个servlet呢?因为一个servlet没有像html一样是一个文件存在于web服务器可以访问到的路径。很简单,我们可以看到在前面的web容器的配置说明文件web.xml中说明了一个servlet map将HelloServlet指向到了/,哪么我们访问这个servlet的路径就是http://hostname/helloejb/就可以了,如果我们在web.xml中将/改成/helloservlet,哪么我们访问的路径就是http://hostname/helloejb/helloservlet了。
文章来源于领测软件测试网 https://www.ltesting.net/
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073