<?xml version="1.0" encoding="UTF-8"?>
<project name="TM-Test" default="build" basedir=".">
<!-- 工程根目錄 -->
<property name="TM-Test.home" value="."/>
<!-- 工程根名 -->
<property name="TM-Test.name" value="TM-Test"/>
<!-- tomcat路徑 -->
<!--
<property name="tomcat.home" value="/usr/java/apache-tomcat-6.0.18"/>
-->
<property name="tomcat.home" value="D:/apache-tomcat-6.0.33"/>
<!-- tomcat部署路徑 -->
<property name="webapps.home" value="${tomcat.home}/webapps"/>
<!-- JAVA源文件路徑 -->
<property name="src.home" value="${TM-Test.home}/src"/>
<!-- class文件存放位置 -->
<property name="classes.home" value="${TM-Test.home}/classes"/>
<!-- 發佈文件夾 -->
<property name="deploy.home" value="${TM-Test.home}/deploy"/>
<!--
<property name="deploy.home" value="${TM-Test.home}/deploy"/>
-->
<!-- webRoot路徑 -->
<property name="web.home" value="${TM-Test.home}/WebContent"/>
<!-- 創建工程路徑 -->
<property name="build.home" value="${TM-Test.home}/build"/>
<!-- /WEB-INF/classes -->
<property name="build.classes" value="${TM-Test.home}/WEB-INF/classes"/>
<!-- /WEB-INF/lib -->
<property name="build.lib" value="${TM-Test.home}/WEB-INF/lib"/>
<!-- 工程引用包 -->
<property name="lib.home" value="${web.home}/WEB-INF/lib"/>
<!-- 編譯工程所需的JAR包 -->
<path id="compile.classpath">
<pathelement location="${classes.home}"/>
<fileset dir="${lib.home}">
<include name="*.jar"/>
<include name="*.zip"/>
</fileset>
<fileset dir="${tomcat.home}/lib">
<include name="*.jar"/>
</fileset>
<pathelement location="${tomcat.home}/common/classes"/>
</path>
<!-- 測試ANT -->
<target name="help">
<echo message="Please specify a target![usage:ant<targetname>]"/>
<echo message="Here is a list of possible targets:"/>
<echo message=" clean-all....Delete build dir,all .class and war files"/>
<echo message=" perpare....Creates directories if requied"/>
<echo message=" compile....Compiles source files"/>
<echo message=" build......Build war file from.class and other files"/>
<echo message=" deploy......Copy war file to the webapps directory"/>
</target>
<!-- 清除 -->
<target name="clean-all">
<delete dir="${build.home}"/>
<delete dir="${classes.home}"/>
<delete dir="${deploy.home}"/>
<delete dir="${webapps.home}/${TM-Test.home}" failοnerrοr="false"/>
<delete dir="${webapps.home}/work/" />
<delete dir="${webapps.home}/${TM-Test.name}.war"/>
</target>
<!-- 準備工作 -->
<target name="prepare" depends="clean-all">
<echo message="Tomcat Home=${tomcat.home}"/>
<echo message="Webapps Home=${webapps.home}"/>
<echo message="classes Home=${classes.home}"/>
<echo message="war Home=${deploy.home}"/>
<echo message="Java src Home=${src.home}"/>
<mkdir dir="${classes.home}"/>
<mkdir dir="${deploy.home}"/>
<mkdir dir="${build.home}"/>
<mkdir dir="${build.home}/WEB-INF"/>
<mkdir dir="${build.home}/WEB-INF/classes"/>
<mkdir dir="${build.home}/WEB-INF/lib"/>
</target>
<!-- 編譯 -->
<target name="compile" depends="prepare">
<javac srcdir="${src.home}" destdir="${classes.home}" includeantruntime="on" debug="true">
<compilerarg line="-encoding UTF-8"/>
<classpath refid="compile.classpath"/>
</javac>
</target>
<!-- 構建臨時工程 -->
<target name="build" depends="compile">
<copy todir="${build.home}">
<fileset dir="${web.home}"/>
</copy>
<copy todir="${build.home}/WEB-INF/classes">
<fileset dir="${classes.home}"/>
</copy>
<copy todir="${build.home}/WEB-INF/classes">
<fileset dir="${src.home}">
<include name="**/*.properties"/>
<include name="**/*.prop"/>
</fileset>
</copy>
<jar jarfile="${deploy.home}/${TM-Test.name}.war" basedir="${build.home}"/>
</target>
<!-- 發佈 -->
<target name="deploy" depends="build">
<copy todir="${webapps.home}" file="${deploy.home}/${TM-Test.name}.war"/>
</target>
</project>
ant編譯後回自動在你項目下生成classes和deploy文件夾
classes文件 存放的是編譯後的文件
depkoy存放的是 war包 也就說將lassess文件打成war包
最後發佈在你所配置的 tomcat/webapps下
修改tomcat路徑即可
<!-- tomcat路徑 -->
<property name="tomcat.home" value="D:/apache-tomcat-6.0.33"/>
ps: 如果你是myeclipse創建的工程, 那麼你需要將下面這個WebContent修改爲WebRoot(因爲eclipse和myeclipse所創建的javaee工程結構是不同的)即可
<!-- webRoot路徑 -->
<property name="web.home" value="${TM-Test.home}/WebContent"/>
修改生成的war包名稱 只要修改value中的值即可
<!-- 工程根名 -->
<property name="TM-Test.name" value="TM-Test"/>
如果編譯java文件的時候出現亂碼的話可以在修改你的編碼格式.將其中的<compilerarg line="-encoding GBK"/>
gbk換成你所需要的編碼格式即可
<target name="compile" depends="prepare">
<javac srcdir="${src.home}" destdir="${classes.home}" includeantruntime="on" debug="true">
<compilerarg line="-encoding UTF-8"/>
<classpath refid="compile.classpath"/>
</javac>
</target>
如果你在編譯java問價你的時候系統提示你
javac :警告 ;..............
這樣的信息的話 是大部分是因爲你程序集合沒有使用泛型而造成的
如果你想把具體警告信息輸出出來 你可以在以下加上<compilerarg value="-Xlint:unchecked"/> 具體是
<target name="compile" depends="prepare">
<javac srcdir="${src.home}" destdir="${classes.home}" includeantruntime="on" debug="true">
<compilerarg line="-encoding UTF-8"/>
<compilerarg value="-Xlint:unchecked"/>
<classpath refid="compile.classpath"/>
</javac>
</target>
如果對ant標籤不熟悉的話 這裏有一個ant常用標籤介紹 可以簡單看一下