ant 學習筆記

ant構建文件時基於xml文件編寫的,默認名稱爲build.xml

bulid.xml示例

<?xml version="1.0"?> 

<project name="helloWorld" default="copy"  > 

<target name="copy"  description="copy">

<copy todir="D:\AntTest">

<fileset dir="D:\JavaTest"/>

</copy>

</target>

</project>


ant 默認尋找build.xml

ant targetName 默認執行build.xml某個targe下的動作

如果使用其它文件名 則用 ant -f hello.xml targetName 來執行某個targe


build.xml結構介紹


project元素:


有name default basedir屬性


default屬性指定默認執行的target名


basedir默認值爲build.xml所在目錄的父目錄


target元素:


target有 name depends if unless description


depends 指定依賴關係  被依賴的target先執行 這樣就可以在ant時候 由依賴關係觸發所有target執行


if unless 指定在某些條件執行此target 二者意義相反


description 用於對target進行簡單的描述 沒有實際意義


property元素:


<property name="name" value="haha">

定義一個變量在程序中可以用${name}取得該值




ant 常用任務


copy:


<copy file="" tofile=""/> 複製文件


<copy todir="">

<fileset dir=""/>

</copy>


fileset是屬性dir指定的目錄下的文件,上面這個配置將會把 dir指定的目錄下的文件複製到todir目錄下


但是如果dir目錄仍有目錄,那麼會保持原來的結構,這裏的 fileset中的 目錄和文件都是一樣看待的,但是是有結構的


如果要對fileset進行篩選 haha爲dir下的一個目錄 haha下面仍有文件結構


<fileset dir="" includes="haha"/>  只會複製一個 haha空目錄到todir下


<fileset dir="" includes="haha/"/> 會複製haha以及haha下面的所有結構


<fileset dir="" includes="haha/*"/> 會複製haha下面一級的所有內容 如果有目錄 不會複製目錄中的內容


<fileset dir="" includes="haha/**"/> 同haha/  haha以及haha下的所有內容都會複製到目標目錄


<fileset dir="" includes="haha/*****"/>  同 haha/*



delete


刪除目錄 <delete dir=""/>


刪除文件<delete file=""/>



mkdir


<mkdir dir=""/>


echo


<echo message="" file="" append="true"/>



利用Ant構建和部署java程序



<?xml version="1.0"?> 

<project name="helloWorld" default="jar"  > 

<target name="clean">

<delete dir="build"/>

</target>

<target name="compile" depends="clean">

<mkdir dir="build/classes"/>

<javac srcdir="src" destdir="build/classes"/>

</target>

<target name="run" depends="compile">

<java classname="Test">

<classpath>

<pathelement path="build/classes"/>

</classpath>

</java>

</target>

<target name="jar" depends="run">

<jar destFile="helloworld.jar" basedir="build/classes">

<manifest>

<attribute name="Main-class" value="HelloWorld"/>

</manifest>

</jar>

</target>

</project>


javac 編譯 


java 運行 


jar 打包成jar文件



<?xml version="1.0"?> 

<project name="helloWorld" default="war"  > 

<target name="war">

<war destfile="antwebproject.war" webxml="AntTest/WEB-INF/web.xml">

<fileset dir="AntTest" includes="**/*.jsp"/>

<lib dir="AntTest/WEB-INF/lib"/>

<classes dir="AntTest/WEB-INF/classes"/>

</war>

</target>

</project>


war 打包javaee項目


怎麼做呢 javaee項目的框架ant是知道的  你所提供的參數就是將具體的內容都給它 就可以了 具體就是 jsp lib/*.jar classes


具體的寫法不用記  理解即可 用到時再拿出來看

以上內容總結自網絡



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章