用ANT打包WAR的流程
今天给大家小小的介绍一下在一个project中如何用ant打包工程,如有疑问或者觉得我有错,我有罪,欢迎email to zhe-jiang.he@hp.com.
在这个示例里我使用Spring SimpleFormController 的例子来配合讲解war构建过程,下图所示是该应用的结构。
在这个示例里我使用Spring SimpleFormController 的例子来配合讲解war构建过程,下图所示是该应用的结构。
src里面的所有类需要编译并且放在build/classes目录下,要构建的war包需要放在dist目录。
所以,第一步,创建build/classes和dist目录,用init来负责完成这些工作:
[html]
<target name="init">
<mkdir dir="build/classes"/>
<mkdir dir="dist" />
</target>
接下来编译src目录的类到build/classes目录,编译之前首先要设置好classpath,如下所示:
[html]
<path id="compile.classpath">
<fileset dir="WebContent/WEB-INF/lib">
<include name="*.jar"/>
</fileset>
</path>
接下来用javac命令进行编译。编译时要保证相关目录已创建好,所以,编译的工作依赖于init,如下所示:
[html]
<target name="compile" depends="init" >
<javac destdir="build/classes" debug="true" srcdir="src">
<classpath refid="compile.classpath"/>
</javac>
</target>
接下来就可以打war包,可以用ant提供的war命令完成这部分工作:
[html]
<target name="war" depends="compile">
<war destfile="dist/AntExample.war" webxml="WebContent/WEB-INF/web.xml">
<fileset dir="WebContent"/>
<lib dir="WebContent/WEB-INF/lib"/>
<classes dir="build/classes"/>
</war>
</target>
war命令的详细参考:http://ant.apache.org/manual/Tasks/war.html
最后,可能需要做一些清理工作,如:
[html]
<target name="clean">
<delete dir="dist" />
<delete dir="build" />
</target>
以下是完整的构建脚本:
[html]
<?xml version="1.0" ?>
<project name="AntExample1" default="war">
<path id="compile.classpath">
<fileset dir="WebContent/WEB-INF/lib">
<include name="*.jar"/>
</fileset>
</path>
<target name="init">
<mkdir dir="build/classes"/>
<mkdir dir="dist" />
</target>
<target name="compile" depends="init" >
<javac destdir="build/classes" debug="true" srcdir="src">
<classpath refid="compile.classpath"/>
</javac>
</target>
<target name="war" depends="compile">
<war destfile="dist/AntExample.war" webxml="WebContent/WEB-INF/web.xml">
<fileset dir="WebContent"/>
<lib dir="WebContent/WEB-INF/lib"/>
<classes dir="build/classes"/>
</war>
</target>
<target name="clean">
<delete dir="dist" />
<delete dir="build" />
</target>
</project>
还有附件的,我竟然找不到上传附件的地方,莫非“床上等你”不允许上传附件,还是我不熟悉相关操作。罢了,需要附件的可以点击原文去下载。