Ant的簡(jiǎn)介:類(lèi)似make工具,但可以支持多平臺(tái)
Ant的安裝:配置ant的準(zhǔn)備工作:ant_home 指Ant的安裝目錄,在path中加入%ant_home%/bin,用于命令行下
運(yùn) 行ant
Ant的結(jié)構(gòu):主要是通過(guò)對(duì)build.xml的配置,
Ant內(nèi)置任務(wù): 描述
property 設(shè)置name/value的屬性
mkdir 創(chuàng)建目錄
copy 拷貝
delete 刪除
javac 編繹
war 打包
下面是一個(gè)簡(jiǎn)單build.xml的示例:
<project name="bookstore" default="about" basedir=".">
<target name="init">
<tstamp/>
<property name="build" value="build" />
<property name="src" value="src" />
<property environment="myenv" />
<property name="servletpath" value="${myenv.CATALINA_HOME}/common/lib/servlet-api.jar" />
<property name="mysqlpath" value="WEB-INF/lib/mysqldriver.jar" />
<mkdir dir="${build}" />
<mkdir dir="${build}\WEB-INF" />
<mkdir dir="${build}\WEB-INF\classes" />
<copy todir="${build}" >
<fileset dir="${basedir}" >
<include name="*.jsp" />
<include name="*.bmp" />
<include name="WEB-INF/**" />
<exclude name="build.xml" />
</fileset>
</copy>
</target>
<target name="compile" depends="init">
<javac srcdir="${src}"
destdir="${build}/WEB-INF/classes"
classpath="${servletpath}:${mysqlpath}">
</javac>
</target>
<target name="bookstorewar" depends="compile">
<war warfile="${build}/bookstore.war" webxml="${build}/WEB-INF/web.xml">
<lib dir="${build}/WEB-INF/lib"/>
<classes dir="${build}/WEB-INF/classes"/>
<fileset dir="${build}"/>
</war>
</target>
<target name="about" >
<echo>
This build.xml file contains targets
for building bookstore web application
</echo>
</target>
</project>
從示例我們看出來(lái),整個(gè)xml是一個(gè)project,project下有幾個(gè)為init,compile,的target
運(yùn)行時(shí)首先在這個(gè)目錄下打開(kāi)dos窗口,以這個(gè)xml為準(zhǔn),如果你只運(yùn)行ant那么只會(huì)輸出echo中的內(nèi)容
因?yàn)閜roject的default是about; 如果運(yùn)行ant complie 它會(huì)執(zhí)行兩個(gè)target: init 和complie,因?yàn)閏omplie是依靠init
的。
用了以后發(fā)現(xiàn)ant 原來(lái)很簡(jiǎn)單,當(dāng)然現(xiàn)在只是學(xué)了個(gè)皮毛而已。