ant使用(二)生成war包
1. 新建web工程
2.创建build.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<!-- 定义一个工程,默认任务为warFile。 -->
<project name="TestAnt2" default="war" basedir=".">
<!-- 定义属性,打成war包的名称。 -->
<property name="warName" value="TestAnt2.war"></property>
<!-- 定义路径,编译java文件时用到的jar包。 -->
<path id="lib">
<fileset dir="${basedir}/WebContent/WEB-INF/lib">
<include name="**/*.jar"/>
</fileset>
</path>
<!-- clean,删除原来的build目录,创建新的build目录,build目录下放class文件 -->
<target name="clean">
<delete dir="${basedir}/build" />
<mkdir dir="${basedir}/build" />
</target>
<!-- compile,源文件目录为src,class文件目录为build -->
<target name="compile" depends="clean">
<javac srcdir="${basedir}/src" destdir="${basedir}/build" includeantruntime="on">
<classpath refid="lib">
</classpath>
</javac>
</target>
<!-- war,默认任务 -->
<target name="war" depends="compile">
<!-- 删除原有war包。 -->
<delete dir="${basedir}/${warName}" />
<!-- 建立新war包。 -->
<war destfile="${basedir}/${warName}" webxml="${basedir}/WebContent/WEB-INF/web.xml">
<!-- 将非jar和非class文件拷贝到war包的对应路径下。 -->
<fileset dir="${basedir}/WebContent">
<include name="**/**.*" />
<exclude name="**/*.jar"/>
<exclude name="**/*.class"/>
</fileset>
<!-- 将jar和class文件拷贝到war包的对应路径下。 -->
<lib dir="${basedir}/WebContent/WEB-INF/lib" />
<classes dir="${basedir}/build" />
</war>
</target>
</project>
3.生成war包的实质
1、编译工程src文件夹下的java文件,生成相应的class文件.
2、将工程WebContent下的除了class文件和jar包以外的文件,全部拷贝到war包的对应目录下.
3、将编译生成的class文件,全部拷贝到war包WEB-INF/classes文件夹下.
4、将工程lib中的jar包,全部拷贝到war包的WEB-INF/lib下。最后压缩成war包.
5.生成的war包中内容就是webContent目录下内容.其实就是把要打包的内容拷贝到webContent文件下,然后对webContent文件压缩打包.