用Ant编译和部署
Web应用的编译、打包和部署是在Eclipse IDE中根据Ant build.xml文件完成的。我们用一个由若干个target(目标)元素组成的Ant build.xml文件来编译JBossServlet.java,然后以webapp.war的文件格式打包、部署web应用。build.xml文件如下:
<project name="jbossApp" default="webapp" basedir=".">
<property name="build" value="build"/>
<property name="src" value="." />
<property name="jboss.deploy"
value="C:\JBoss\jboss-4.0.2\server\default\deploy"/>
<property name="dist" value="dist"/>
<property name="j2sdkee" value="C:\J2sdkee1.4"/>
<target name="init">
<tstamp/>
<mkdir dir="${build}" />
<mkdir dir="${dist}" />
<mkdir dir="${build}/WEB-INF" />
<mkdir dir="${build}/WEB-INF/classes" />
</target>
<target name="compile" depends="init">
<javac debug="true" classpath="${j2sdkee}/lib/j2ee.jar"
srcdir="${src}/WEB-INF/classes"
destdir="${src}/WEB-INF/classes">
<include name="**/*.java" />
</javac>
<copy todir="${build}/WEB-INF">
<fileset dir="WEB-INF" >
<include name="web.xml" />
</fileset>
</copy>
<copy todir="${build}/WEB-INF/classes">
<fileset dir="${src}/WEB-INF/classes" >
<include name="**/JBossServlet.class" />
</fileset>
</copy>
</target>
<target name="webapp" depends="compile">
<war basedir="${build}" includes="**/*.class"
destfile="${dist}/webapp.war" webxml="WEB-INF/web.xml"/>
<copy file="${dist}/webapp.war" todir="${jboss.deploy}"/>
</target>
</project>
build.xml文件中的属性如下表所示:

build.xml文件中还有以下几个目标元素:

把编译目标中javac任务的debug属性设为true意味着以debug模式进行编译。对于采用debug模式编译的应用,如果它在JBoss服务器上运行时出现异常,产生异常的代码行号将会在Eclipse的Debug视图中被显示出来。
