ant 學習筆記

來源:互聯網
上載者:User

標籤: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


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

以上內容總結自網路



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.