於是一樣,要爲類裝載器設置類路徑和爲控制檯的命令符設置path了。打開ant的目錄一看,很簡單,就是一個lib和一個bin,這樣設置classpath和path就不在話下了。
設置好了,就到控制檯上敲ant就ok了,bin下面有這個批處理文件,敲進去一般會提示找不到build.xml文件,正常。如果說什麼不是內部命令等,那麼就是path的設置問題了。
用ant,也就是要寫一個build.xml文件了,其他的就都沒有了,很簡單實用吧。當然,文件名可以是指定的,只要在ant命令後加上文件名就是了,build.xml是默認的而已。當然這個文件要讓控制檯找到,所以敲ant一定要到當前目錄下,否則控制檯找不到你的文件了。
那麼這個xml文件到底是什麼呢?也很簡單一般的幾十行就搞定了,而且可以複用,就是很多的項目基本上可以使用一份xml文件,只要稍微的注意裏面的目錄問題就ok了。
既然使用,那就先看一個示例吧。
<project name="CarRent" basedir="." default="compile">
<property name="user.name" value="wewu200"/>
<property name="dist.name" value="CarRent"/>
<property name="srcDir" location="WEB-INF/src"/>
<property name="buildDir" location="WEB-INF/classes"/>
<property name="distDir" location="D:/Program Files/Apache Software Foundation/Tomcat5.5/webapps/dist"/>
<!-- Build working classpath -->
<path id="project.class.path">
<pathelement path ="WEB-INF/classes"/>
<pathelement path ="${classpath}"/>
</path>
<target name="init">
<tstamp/>
<!-- Create the build directory structure used by compile -->
<delete dir="${distDir}"/>
<delete dir="${buildDir}"/>
<mkdir dir="${buildDir}"/>
<mkdir dir="${distDir}"/>
</target>
<!-- Compile the dir src .java to .class to dir build -->
<target name="compile" depends="init">
<javac srcdir="${srcDir}" destdir="${buildDir}">
<classpath refid="project.class.path"/>
</javac>
</target>
<!-- Jar src and Jar build-->
<target name="jar" depends="compile">
<jar destfile="${distDir}/package-${DSTAMP}.jar" basedir="${buildDir}">
<manifest>
<attribute name="Built-By" value="${user.name}"/>
<attribute name="Main-Class" value="package.Main"/><!-- define your Jar's main class if it exists-->
</manifest>
</jar>
<jar destfile="${distDir}/package-src-${DSTAMP}.jar" basedir="${srcDir}"/>
</target>
<target name="run" depends="compile">
<java classname="test.Test" fork="true" failonerror="true">
<arg value="-jar"/>
<classpath refid="project.class.path"/>
</java>
</target>
<!-- Build binary distribution -->
<target name="war" depends="jar" description="Create binary distribution">
<war destfile="${distDir}/${dist.name}.war" webxml="WEB-INF/web.xml">
<lib dir="WEB-INF/lib"/>
<classes dir="WEB-INF/classes"/>
<fileset dir="${basedir}"/>
</war>
</target>
</project>