1.了解ant的相关内容Ant简介 -ANT教程
各个版本对应的JDK版本
2.下载对应的版本Apache Ant - Binary Distributions
3.配置环境变量,网上很多配置都是如下情况
ANT_HOME D:\apache-ant-1.10.13
PATH %ANT_HOME%\bin
CLASSPATH %ANT_HOME%\bin
按照这种方式配置,本地windows环境不生效,修改上述配置为全路径正常执行
ANT_HOME D:\apache-ant-1.10.13\;
PATH D:\apache-ant-1.10.13\bin;
CLASSPATH D:\apache-ant-1.10.13\lib;
4.打开cmd,输入ant出现如下情况正常
5.编译需要配置一个build.xml,放置在项目的根目录
<?xml version="1.0" encoding="UTF-8"?>
<project name="upp-backstagemg" default="deleteWar" basedir="."> <!-- name:项目名 -->
<property name="build" value="${basedir}/build" />
<property name="build.class" value="${build}/target/classes" />
<property name="webApp" value="${basedir}/WebContent" />
<property name="tomcat" value="D:\apache-tomcat-8.5.45\apache-tomcat-8.5.45" /> <!-- 本机tomcat安装目录 -->
<property name="lib" value="${webApp}/WEB-INF/lib" /> <!-- 该项目下lib中的jar包 -->
<property name="tomcat.lib" value="${tomcat}\lib" /> <!-- tomcat中lib文件夹下的jar包 -->
<!--请将下面的路径改为你本地的路径-->
<property name="webserver" value="${tomcat}\webapps" />
<!--定义CLASSPACH,编译时用到你外部加入的包-->
<path id="classpath">
<fileset dir="${lib}" includes="***.jar" />
<fileset dir="${tomcat.lib}" includes="***.jar" />
</path>
<!--删除任务-->
<target name="clean" description="删除">
<echo message="删除目录" />
<delete dir="${build}" />
</target>
<!--创建一个临时目录-->
<target name="init" description="创建目录" depends="clean">
<echo message="创建目录--以执行" />
<mkdir dir="${build.class}" />
</target>
<!--编译java源文件-->
<target name="compile" description="编译文件" depends="init">
<echo message="编译文件" />
<javac destdir="${build.class}" includeAntRuntime="false">
<src path="src" /> <!-- 多个src源文件 -->
<classpath refid="classpath" />
<compilerarg line="-encoding UTF-8" />
<compilerarg value="-XDignore.symbol.file" />
</javac>
</target>
<!--打成WAR包-->
<target name="generwar" depends="compile">
<echo message="打成WAR" />
<war destfile="${build}/${ant.project.name}.war" webxml="${webApp}/WEB-INF/web.xml">
<fileset dir="WebContent"/>
<lib dir="${lib}" />
<classes dir="${build.class}" />
</war>
</target>
<!--把WAR放到一个指定目录,这里是直接布署到TOMCAT服务器-->
<target name="fabu" depends="generwar" description="发布">
<copy file="${build}/${ant.project.name}.war" todir="${webserver}"/>
</target>
<!--把打好的WAR删除-->
<target name="deleteWar" depends="fabu" description="删除服务器上的war">
<delete dir="${build.class}" /> <!--删除目录-->
<delete file="${build}/${ant.project.name}.war" /> <!--删除文件-->
</target>
</project>
可能写的没有那么完整,只是记录一下使用方式,转载请注明出处