<?xml version="1.0" encoding="UTF-8"?>
<!--
打包的實質
生成jar包的實質
一、編譯工程src文件夾下的java文件,生成相應的class文件。java
二、將全部的class文件集合成jar包。web
生成war包的實質
一、編譯工程src文件夾下的java文件,生成相應的class文件。ui
二、將工程WebContent下的除了class文件和jar包之外的文件,所有拷貝到war包的對應目錄下。spa
三、將編譯生成的class文件,所有拷貝到war包WEB-INF/classes文件夾下。debug
四、將工程lib中的jar包,所有拷貝到war包的WEB-INF/lib下。最後壓縮成war包。xml
debug="on" encoding="UTF-8"get
定義一個工程,默認任務爲warFile。 -->
<project name="Visit" default="warFile" basedir=".">
<!-- 定義屬性,打成war包的名稱。 -->
<property name="warFileName" value="VisitFiles.war"></property>
<!-- 定義路徑,編譯java文件時用到的jar包。 -->
<path id="project.lib">
<fileset dir="${basedir}/WebRoot/WEB-INF/lib">
<include name="**/*.jar"/>
</fileset>
</path>
<!-- 定義任務,清空任務:清空原有的class文件,建立新的build路徑。 -->
<target name="clean">
<delete dir="${basedir}/build" />
<mkdir dir="${basedir}/build" />
</target>
<!-- 定義任務,編譯src文件夾中的java文件,編譯後的class文件放到建立的文件夾下。 -->
<target name="compile" depends="clean">
<javac srcdir="${basedir}/src" destdir="${basedir}/build" includeantruntime="false" debug="on" encoding="UTF-8">
<classpath refid="project.lib">
</classpath>
</javac>
</target>
<!-- 定義默認任務,將class文件集合成jar包。 -->
<target name="warFile" depends="compile">
<!-- 刪除原有war包。 -->
<delete dir="${basedir}/${warFileName}" />
<!-- 創建新war包。 -->
<war destfile="${basedir}/${warFileName}" webxml="${basedir}/WebRoot/WEB-INF/web.xml">
<!-- 將非jar和非class文件拷貝到war包的對應路徑下。 -->
<fileset dir="${basedir}/WebRoot">
<include name="**/**.*" />
<exclude name="**/*.jar"/>
<exclude name="**/*.class"/>
</fileset>
<!-- 將jar和class文件拷貝到war包的對應路徑下。 -->
<lib dir="${basedir}/WebRoot/WEB-INF/lib" />
<classes dir="${basedir}/build" />
</war>
</target>
</project> it